極座標表示の複数個表​示について教えていた​だきたいです。

조회 수: 1 (최근 30일)
yuya nakashima
yuya nakashima 2019년 7월 2일
以下のソースを使用して、極座標を複数個作成したいのですがどのように変更すればよろしいでしょうか。
ちなみに、以下のソースで実行してもプログラムが走らないため、困っています。
Vで近似式を表しています。
[Xtest,Ytest,Ztest] = meshgrid(-9:1:9);
p=10;
for a=1:10;
p=p-2;
Ztest(:,:,a)=p;
end
V(:,:,4)=-0.0444*(sqrt(Xtest(:,:,4).^2+Ytest(:,:,4).^2)).^2 + 0.1857*sqrt(Xtest(:,:,4).^2+Ytest(:,:,4).^2) + 3.55-3;
xslice = [5];
lvls = -0:0.2:4;
contourslice(Xtest,Ytest,Ztest,V,xslice,[],[],lvls)
colorbar
view(3)
grid on

답변 (1개)

Kazuya
Kazuya 2019년 7월 22일
2つ問題があります。
1つ目:Vの配列サイズがこのままでは 19x19x4 ですので、Xtest などと同じ 19x19x19 にする必要があります。
ここは恐らく例えば
V=-0.0444*(sqrt(Xtest.^2+Ytest.^2)).^2 + 0.1857*sqrt(Xtest.^2+Ytest.^2) + 3.55-3;
と実行すればOK?
2つ目:
for a=1:10;
p=p-2;
Ztest(:,:,a)=p;
end
の処理の結果、 Ztest のグリッドデータが単調増加するデータではなくなっています。
それぞれを(すいません、意図を理解せずとりあえず実行できることを優先しています・・)加味すると
[Xtest,Ytest,Ztest] = meshgrid(-9:1:9);
V=-0.0444*(sqrt(Xtest.^2+Ytest.^2)).^2 + 0.1857*sqrt(Xtest.^2+Ytest.^2) + 3.55-3;
xslice = [5];
lvls = -0:0.2:4;
contourslice(Xtest,Ytest,Ztest,V,xslice,[],[],lvls)
colorbar
view(3)
grid on
となり、とりあえず表示はできるようになります。

카테고리

Help CenterFile Exchange에서 等高線図에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!