0

Matlabでコンパス図を使用しています。そのようなマグニチュードを超えるベクトルを強調するために、マグニチュード レベル (つまり、コンパスダイアグラムの原点を中心とする円) を強調表示する必要があります。どうすればこれを達成できますか?ありがとうございました!

私のコンパス ダイアグラムは非常に単純です。いくつかの極座標をデカルト座標に変換するために、ここに示す方法に従っているだけです。私の場合、風の強さと方向を表示します ( Mathworksで提供されている例と非常によく似ています)。

wdir = [31.45 21.45 44.67 23.87];
knots = [7.2 4.4 5.3 6.6];
rdir = wdir * pi/180;
[x,y] = pol2cart(rdir,knots);
compass(x,y) 

風がこの強さを超えると何か重要なことが起こるため、 4.0 ノットレベルを強調する必要があります。少し前に撮ったスクリーンショットを見ると(これは、以前に書いたコードから出てきたコンパス図です):

ここに画像の説明を入力

必要なのは、等級 4 を示す灰色の円の点線を強調表示することです。それだけです。

PS

ベクトルを強調表示したくないことに注意してください。図の特定の大きさに対応する円を描きたいだけです。それで全部です。

4

1 に答える 1

0

あなたのコメントに従って、コードをテストするマシンを見つけました。

これが私が使用した正確なコードです:

wdir = [31 24 44 23];
knots = [7 4 5 6];
rdir = wdir * pi/180;
[x,y] = pol2cart(rdir, knots);
figure
compass(x,y);

hold on;
theta = linspace(0,2*pi,100);
kLimit = 4.0;
xt = kLimit * cos(theta);
yt = kLimit * sin(theta);
plot(xt, yt, 'r')

これは私が得た出力です:

ここに画像の説明を入力

なぜうまくいかなかったのかわかりません。これがあなたが求めていたものだと思います。この正確なコードが機能するかどうかわかりますか? それでも誤解している場合は、説明してください。

于 2013-04-22T13:52:37.500 に答える