2

私は 3つのベクトルをPhi持っています.TetaY 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

3つを一緒にプロットするにはどうすればよいですか?

の関数として&を使用して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)')

tetaおよびphi値のベクトルを作成し、 を使用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 に答える