声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4680|回复: 27

[共享资源] 请问这个3维图是怎么画出来的啊

[复制链接]
发表于 2009-3-18 17:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问这个3维图是怎么画出来的啊,我输入几个语句后,得到的图不对啊
3D.jpg
回复
分享到:

使用道具 举报

发表于 2009-3-18 20:12 | 显示全部楼层
doc surf
doc mesh
发表于 2009-3-18 21:16 | 显示全部楼层
把出错代码和出错提示贴出来!
 楼主| 发表于 2009-3-18 22:16 | 显示全部楼层

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

r=10:0.5:40; D=10:1:100; [r,D]=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 编辑 ]
发表于 2009-3-18 22:29 | 显示全部楼层
我怎看不清LZ要什麽! 该不会LZ没曲面的方程?
 楼主| 发表于 2009-3-18 22:44 | 显示全部楼层

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

你看不清楚什么啊,我的 代码你看不懂吗
发表于 2009-3-19 08:14 | 显示全部楼层
我即使看不懂你的代码, 也可一行一行试并help!:@)
我的意思是由LZ的代码, 看出LZ知道如何画3维图, 不懂"绘不出上面的图形" & "得到的图不对"的意思?
发表于 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 编辑 ]
untitled.jpg

评分

1

查看全部评分

 楼主| 发表于 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 编辑 ]
发表于 2009-3-19 10:51 | 显示全部楼层

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

1。你meshgrid应该是调用错了;
2。.*和*不分
r=10:0.5:40; D=10:1:100; [r,D]=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 编辑 ]

评分

1

查看全部评分

发表于 2009-3-19 10:54 | 显示全部楼层


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

评分

1

查看全部评分

发表于 2009-3-19 11:15 | 显示全部楼层

回复 9楼 gwylei 的帖子

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

[ 本帖最后由 ChaChing 于 2009-3-20 14:32 编辑 ]
 楼主| 发表于 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 编辑 ]
发表于 2009-3-19 13:09 | 显示全部楼层
试试:
r=10:0.5:40; D=100:1:400; [r,D]=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 编辑 ]

评分

1

查看全部评分

发表于 2009-3-19 13:21 | 显示全部楼层

回复 14楼 gwylei 的帖子

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

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-23 11:13 , Processed in 0.102087 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表