0

私はこの質問をmath.stackexchange.comに投稿しましたが、それがこの質問を投稿する正しいコミュニティであるかどうかは完全にはわかりません。プロットしたい数学の方程式を読みやすく表現できるので、数学のサイトを選びました。

質問へのリンクはここにあります:https ://math.stackexchange.com/questions/220395/matlab-how-to-plot-circular-plot-with-mixed-euclidean-and-polar-coordinate-para

二重投稿したり、間違った場所に投稿したりして、ルールに違反していないことを願っています。ここで私を訂正してください。

皆さんありがとう

4

1 に答える 1

2

簡単にするために、最初の方程式の答えだけを示します。これをさらに適用する方法を理解していただけると思います。L1とL2を一定に保ちながら、x、y、thetaの方程式を表す3d行列を作成する方法は次のとおりです。

N=100; % grid points
rangex=linspace(-2,2,N);
rangey=linspace(-2,2,N);
ranget=linspace(-pi,pi,N);

[x,y,theta] = meshgrid(rangex,rangey,ranget);

L1 = 1; 
L2 =-1; 

A = x.^2+y.^2-2*L1*L2*cos(theta);

いくつかのツールを使用して、A = L1 ^ 2 + L2^2を視覚化できます。1つの方法は次のとおりです。

p=patch(isosurface(x,y,theta,A,L1^2+L2^2))
set(p,'FaceColor','red','EdgeColor','none');
daspect([1,1,1])
view(3); axis tight
camlight 
lighting gouraud

ここに画像の説明を入力してください

于 2012-10-24T23:29:32.957 に答える