gwylei 发表于 2009-3-18 17:54

请问这个3维图是怎么画出来的啊

请问这个3维图是怎么画出来的啊,我输入几个语句后,得到的图不对啊

sogooda 发表于 2009-3-18 20:12

doc surf
doc mesh

ChaChing 发表于 2009-3-18 21:16

把出错代码和出错提示贴出来!

gwylei 发表于 2009-3-18 22:16

我写的代码,可绘不出上面的图形啊

r=10:0.5:40; D=10:1:100; =meshgrid(r);
E1=D*(1.73*r*r+580)/10000*r;
E2=D*(1.6*r*r+650)/10000*r;
mesh(E1); hold on;
mesh(E2); hold off;

[ 本帖最后由 ChaChing 于 2009-3-20 14:28 编辑 ]

ChaChing 发表于 2009-3-18 22:29

我怎看不清LZ要什麽! 该不会LZ没曲面的方程?

gwylei 发表于 2009-3-18 22:44

你看不清楚什么啊,我的 代码你看不懂吗

你看不清楚什么啊,我的 代码你看不懂吗

ChaChing 发表于 2009-3-19 08:14

我即使看不懂你的代码, 也可一行一行试并help!:@)
我的意思是由LZ的代码, 看出LZ知道如何画3维图, 不懂"绘不出上面的图形" & "得到的图不对"的意思?

friendchj 发表于 2009-3-19 10:33

最近有好几个帖子都是根据图片来寻找数据,再画图。楼主好像没有自己的数据源或相应的公式,总感觉怪怪的。一般根据自己问题需要,有相应的数据或公式绘再图,呵呵。
对于这个图片,二维矩阵以对角线为分界,一半为常数,一半应该为非线性曲面数据,不知理解的对不对,由此给出一个小程序。
clear; clc
z=zeros(256); x=linspace(0,2,256); y=x.^2;
for i=1:256
    z=z+diag(ones(1,256-i+1)*y(i),i-1);
end
mesh(z)

[ 本帖最后由 ChaChing 于 2009-3-19 23:24 编辑 ]

gwylei 发表于 2009-3-19 10:39

晕啊,我的代码中有数据公式啊

晕啊,我的代码中有数据公式啊
E1=D*(1.73*r*r+580)/10000*r;
E2=D*(1.6*r*r+650)/10000*r;
这就是公式,拜托

[ 本帖最后由 ChaChing 于 2009-3-20 14:32 编辑 ]

ydlcsu 发表于 2009-3-19 10:51

拜托以后自己先检查代码能不能运行再放上来

1。你meshgrid应该是调用错了;
2。.*和*不分
r=10:0.5:40; D=10:1:100; =meshgrid(r,D);

E1=D.*(1.73.*r.*r+580)/10000.*r; % 按你的公式检查一下
E2=D.*(1.6.*r.*r+650)/10000.*r;
mesh(E1); hold on;
mesh(E2); hold off;

[ 本帖最后由 ChaChing 于 2009-3-19 23:26 编辑 ]

ydlcsu 发表于 2009-3-19 10:54

原帖由 gwylei 于 2009-3-19 10:39 发表 http://www.chinavib.com/forum/images/common/back.gif
晕啊,我的代码中有数据公式啊,E1=D*(1.73*r*r+580)/10000*r;

E2=D*(1.6*r*r+650)/10000*r;
这就是公式,拜托

你在第一次发贴的时候就应该把问题尽量解释清楚,有公式和代码就应该贴出来告诉大家,而不是放个图上来坐等高手来帮你解决问题

friendchj 发表于 2009-3-19 11:15

回复 9楼 gwylei 的帖子

按照10楼的画,在转换一下视角就行了,我还以为你给的公式也是生成数据的一种方式呢,呵呵,见笑了。

[ 本帖最后由 ChaChing 于 2009-3-20 14:32 编辑 ]

gwylei 发表于 2009-3-19 12:30

谁帮帮我,把这个代码调试一下啊,我调试后,总觉得出的图形不对

谁帮帮我,把这个代码调试一下啊,我调试后,总觉得出的图形不对.
主要原因1,E1,E2的值的数量级不对,我假设r=10米,D=100米,套公式得出E1应该为0.81,而图形中不是0.81啊
主要原因2,我改变r的范围为10米到40米,D的范围为100米-400米.可图形变得很糟糕啊

[ 本帖最后由 ChaChing 于 2009-3-19 23:33 编辑 ]

friendchj 发表于 2009-3-19 13:09

试试:
r=10:0.5:40; D=100:1:400; =meshgrid(r,D);
E1=D.*(1.73.*r.*r+580).*r/10^7/1.5;
E2=D.*(1.6.*r.*r+650).*r/10^7/1.5;
mesh(E1); hold on;
mesh(E2); hold off; view(30,45)

[ 本帖最后由 ChaChing 于 2009-3-20 14:35 编辑 ]

ydlcsu 发表于 2009-3-19 13:21

回复 14楼 gwylei 的帖子

按matlab的公式算出来就是不是0.81,不知道你的所谓的公式是啥样子的,不会用matlab的形式来表示就麻烦用你会的形式。给个错误的matlab的公式只会误导别人,更解决不了你的问题。
真不知道你为什么不能把的问题解释得清楚点??只会说我要什么什么。。。然后就有人帮你把问题搞定,除非是上帝现身才会有这样的奇迹发生
页: [1] 2
查看完整版本: 请问这个3维图是怎么画出来的啊