用matlab画一个三维图形

来源:百度知道 编辑:UC知道 时间:2024/06/18 02:38:24
请问如何用matlab画以下这个3-d图形?
(在球坐标中,theta从0到pi,phi从0到2pi)
Z=Y11模的平方
其中:Y11=sqrt(3/(8*pi))*sin(theta).*exp(i*phi)
非常感谢
clc
clear
a=linspace(0,pi);
b=linspace(0,2*pi);
[phi,theta]=meshgrid(a,b);
P11=(sqrt(3/(8*pi))*cos(phi))^2;
[x,y,z]=sph2cart(theta,phi,P11);
mesh(x,y,z)
我要画的图是z轴上为clc
P11=(sqrt(3/(8*pi))*cos(phi))^2;
但是与答案不一样,应该是个“8字型”的图像,哪里错了呢?

你画的是对的,答案错了吧?!

[x,y,z]=sph2cart(theta,pi/2-phi,P11);

这里错了

是不是应该这样?
clc
clear
a=linspace(0,pi,100);
b=linspace(0,2*pi,100);
[theta,phi]=meshgrid(a,b);
P11=(sqrt(3/(8*pi))*sin(theta))^2;
[x,y,z]=sph2cart(theta,phi,P11);
mesh(x,y,z)
这是个8字形

感觉是你的 P11函数写错了

祝君好运哈