这个函数如何用matlab在三维坐标中画出

p值为固定值1000,σ为100,50,20,10,怎么把这些数据在三维图中画出啊... p值为固定值1000,σ为100,50,20,10,怎么把这些数据在三维图中画出啊 展开
 我来答
giantbrain
2013-09-29 · TA获得超过347个赞
知道小有建树答主
回答量:358
采纳率:100%
帮助的人:150万
展开全部

主要思想是利用球坐标系,代码如下:

P=1000;

S=[100 50 20 10];


aa=pi*linspace(0,1.5,200);%为了看清楚内部,只画了3/4圆周,全部是pi*linspace(0,2,100)

bb=0.5*pi*[-logspace(0,-1.2,50),0,logspace(-1.2,0,50)];%b=0是无意义的,此处的数据为NaN,可以用于断图

[a,b]=meshgrid(aa,bb);


figure

hold on

for h=3*P./S/2/pi

    r=h*(abs(sin(b))).^(-3/5);%题目中公式的等价变形

    x=r.*cos(b).*cos(a);

    y=r.*cos(b).*sin(a);

    z=r.*sin(b);

    surf(x,y,z)

end


view([30 10])

shading interp

light('Position',[-1 -1 1])

lighting gouraud

axis off

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式