24小时热门版块排行榜    

查看: 583  |  回复: 3

janebohr

铜虫 (小有名气)

[求助] matala画图求高手。。。。已有1人参与

如图中的这个式子我想把它画成三维的图,r从1到10,m从-5到5。小弟菜鸟,求高手指点。。

matala画图求高手。。。。
捕获.PNG
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

十年磨一剑
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ultro

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
janebohr: 金币+10, ★★★很有帮助, 谢谢您的帮助。。。 2014-11-30 10:53:01
作图的数据可以通过matlab数值积分cumtrapz得到, 设置好r,m,k的数值范围, 两层for循环对r和m循环, 把k积分掉, 得到的是一个二维数组, 最后利用meshgrid和mesh作图, 图片大概就是这一个样子
matala画图求高手。。。。-1
F(r,m).png

2楼2014-11-29 23:49:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

janebohr

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by ultro at 2014-11-29 23:49:02
作图的数据可以通过matlab数值积分cumtrapz得到, 设置好r,m,k的数值范围, 两层for循环对r和m循环, 把k积分掉, 得到的是一个二维数组, 最后利用meshgrid和mesh作图, 图片大概就是这一个样子

F(r,m).png
...

可以把你的命令贴出来吗?编程这东西我实在是菜的很。。。。。
十年磨一剑
3楼2014-11-30 10:52:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ultro

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
janebohr: 金币+38, ★★★★★最佳答案, 谢谢高手的解答。。。 2014-11-30 13:13:08
m=-5:0.1:5;
r=1:0.1:10;
k=0:pi/100:2*pi;
for i=1:length(m);
for j=1:length(r);
  y=(1-r(j)^2)*m(i)./(1+r(j)^2+2*r(j)*cos(k))./sqrt(1+r(j)^2+2*r(j)*cos(k)+m(i)^2);
  y=cumtrapz(k,y);
  y2(i,j)=y(end)/2/pi;
end
end
[mm,rr]=meshgrid(r,m);
mesh(mm,rr,y2);
xlabel('r')
ylabel('m')
zlabel('F(r,m)')

仅供参考, 欢迎交流
4楼2014-11-30 11:28:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 janebohr 的主题更新
信息提示
请填处理意见