![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/268394/image.png)
点のプロットの作成の方法
22 views (last 30 days)
Show older comments
Ryosuke KIJIMA
on 27 Jan 2020
Answered: Hiroumi Mita
on 31 Jan 2020
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/268390/image.png)
上図のようなものを作成したいです。
作成の手順としては、
赤い点のプロット、点は上図のようになるように定数をプロット
点と点を線形補完で結ぶ
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%上書き停止
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/268394/image.png)
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 ライン プロット 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!