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

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 Center および File Exchange等高線図 についてさらに検索

Community Treasure Hunt

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

Start Hunting!