2

在用函数计算&的点之后,我有 3 个向量,一个用于角度Phi,另一个用于角度Teta,最后一个是 中的点向量:Y axeTetaPhi

for teta = 0 : 10^-2 : pi/2 
    for phi = 0 : 10^-2 : pi/2 
        Y(current) = v*sin(phi)*sin(teta);  
        Teta(current) = teta;
        Phi(current) = phi;
        current = current + 1;
    end
end

我怎样才能将它们三个一起绘制?

我想用&作为 的函数来绘制3d图表。我试过了,但结果不是那么令人满意。TetaPhiYplot3

谢谢

4

2 回答 2

2

我不清楚确切的目标,但这是我的解释:

teta = 0:.01:pi/2;
phi =0:.01:pi/2;
[t p]=meshgrid(teta,phi);
Y = v*sin(p)*sin(t);
surf(t,p,Y)
xlabel('teta')
ylabel('phi')
zlabel('1*sin(teta)*sin(phi)')

创建tetaphi值的向量,meshgrid用于生成 t 和 p 值的矩阵,并使用 的向量化形式sin(而不是for循环)。然后使用surf将结果绘制为 3D 曲面。在此处输入图像描述

于 2012-06-21T14:50:30.583 回答
1

在此处输入图像描述

这个好吗?我加大了步长并将 v 设置为 1。

current = 1;
for teta = 0 : 10^-1 : pi/2 
    for phi = 0 : 10^-1 : pi/2 
        Y(current) = 1*sin(phi)*sin(teta);  
        Teta(current) = teta;
        Phi(current) = phi;
        current = current + 1;
    end
end
plot3(Teta,Phi,Y);
xlabel('Teta')
ylabel('Phi')
zlabel('Y')
grid on
于 2012-06-21T14:43:28.490 回答