点のプロットの作成の方法
44 views (last 30 days)
Show older comments
Ryosuke KIJIMA
on 27 Jan 2020
Answered: Hiroumi Mita
on 31 Jan 2020
上図のようなものを作成したいです。
作成の手順としては、
赤い点のプロット、点は上図のようになるように定数をプロット
点と点を線形補完で結ぶ
z軸上の黒い点からx軸に伸びる線を一定間隔で伸ばす
線と赤い点までの距離を求める
距離を求める赤い点の決定は、最近傍点を選出
プロットの部分から上手くできません。
途中まででもいいのでお助けください。
0 Comments
Accepted Answer
Hiroumi Mita
on 27 Jan 2020
Edited: Hiroumi Mita
on 27 Jan 2020
こんな感じでしょうか?
%紅い点の座標(適当な定数)
RED_x=[5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
RED_z=[1 1.2 1.3 1.4 1.7 1.8 2 2.1 2.3 2.1 1.8 1.7 1.4 1.3 1.2 ]
figure(1);plot(RED_x,RED_z,'ro')
hold on%上書き開始
for ii=1:length(RED_x)-1
%赤点間の線を結ぶ
line([RED_x(ii),RED_x(ii+1)],[RED_z(ii),RED_z(ii+1)])
end
hold off%上書き停止
KURO_DAI_x=0;%黒丸大のx座標
KURO_DAI_z=10;%黒丸大のz座標
KURO_SHO_x=[5:3:20]%黒丸小のx座標
KURO_SHO_z=zeros(1,15)%黒丸小のz座標
hold on%上書き開始
for ii=1:length(KURO_SHO_x)
%黒丸間の線を結ぶ
line([KURO_DAI_x,KURO_SHO_x(ii)],[KURO_DAI_z,KURO_SHO_z(ii)],'Color','black')
end
hold off%上書き停止
0 Comments
More Answers (5)
Hiroumi Mita
on 27 Jan 2020
あるA点(xa,za)とあるB点(xb,zb)の間の距離の公式は
L=sqrt( (xa-xb)^2 + (za-zb)^2 )
なので、これを応用しましょう。
>>Z軸上の大きい点と赤い点までの距離を出したい場合は、どうすればよろしいでしょうか。
Hiroumi Mita
on 31 Jan 2020
MATLABの変数は、スカラーではなく、ベクトルや行列です。
行列Z,Wの積は二乗が成立するには、Zの列数とWの行数が同じでなくてはいけません。
Z* W
Z=[z1 z2 z3],w=[w1 w2 w3]のとき
[sqrt((z1-w1)^2),sqrt((z2-w2)^2),sqrt((z3-w3)^2)]
といった各成分毎の演算を全体のベクトルでやりたいのか?
と思われますが、そのときは、成分毎の演算をするように.(ドット)が必要です。
次を参考にしましょう。
Ax=1
Az=11
Bx=[1 2 3 4 5 6 7 8 9 10]
Bz=[11 12 13 14 15 16 17 18 19 20]
L1=(Ax-Bx)^2+(Az-Bz)^2%間違い
L2=(Ax-Bx).^2+(Az-Bz).^2%正解
0 Comments
See Also
Categories
Find more on 2 次元および 3 次元プロット in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!