[r,t] = meshgrid(linspace(0,2*pi,361),linspace(0,pi,361));
[x,y]=pol2cart(sin(t)*cos(r),sin(t)*sin(r));
%[x,y]=pol2cart(r,t);
surf(x,y);
私はこのアドオンで遊んでいましたが、このためのデフォルトの関数を見つけようとしました。3D極プロットを行うにはどうすればよいですか?
私はこの男がここでさまざまな積分を視覚化するのを助けようとしています。
コードにはいくつかの問題があります。
sin(theta)*cos(phi)
およびビットを使用して、既に球座標をデカルト座標に変換していsin(theta)*sin(phi)
ます。なぜpol2cart
これを呼び出しているのですか (さらに、極座標で作業していません!)?z
に、プロットには 3 次元 (つまり ) はありません。単位半径の場合、とr
によって完全に定義される球面領域では省略できますが、デカルト領域では、との 3 つすべてがあります。の式は(単位半径) です。theta
phi
x
y
z
z
z = cos(theta)
のドキュメントを読んでいませんでした。次のように書かれsurf
ています。
surf(Z,C)
Z
は、幾何学的に長方形のグリッド上に定義された単一値関数の高さをプロットしC
、 と同じサイズであると仮定されるmatrix を使用しZ
て、表面に色を付けます。
つまり、surf(x,y)
ラインは単にマトリックスをプロットし、カラーマップとしてx
使用y
して色を付けます。
間違いを修正し、正しくプロットした上記のコードは次のとおりです。
[f,t] = meshgrid(linspace(0,2*pi,361),linspace(0,pi,361));
x = sin(t)*cos(f);
y = sin(t)*sin(f);
z = cos(t);
surf(x,y,z)