2つの点同士を線で結​ぶ方法はありますか。​点の座標は実験結果な​ので11×1の行列(​点Qはqkakudo​_x,qkakudo​_y)(点Wはwka​kudo_x,wka​kudo_y)として​ワークスペースに変数​として格納しています​。このときの点Qのn​行列目と点Wのn行列​目同士(1<n<11​)を結ぶ方法を教えて​ください。

179 views (last 30 days)
無題.png
  2 Comments
Kazuya
Kazuya on 18 Dec 2018
点と点を結ぶ、というのはそんなグラフを書きたい、、ということでしょうか?
例えば
plot(rand(2,10),rand(2,10))
untitled.png
Yuriko Takagi
Yuriko Takagi on 19 Dec 2018
ありがとうございます。 
分かりづらい質問で申し訳ないです。 
今回は点 Pのx座標のデータをp_x,y座標のデータをp_y に行列としてワークスペースに入力済み。 
点Qもx座標 のデータをq_x,y座標のデータをq_yに行列としてワークスペースに入力済み。  
無題2.png
1無題.png
これが理想です。 点P(青の〇 ),点 Q(赤の*) をプロットしました。 この図では自分で線を引いてしまいましたが、この色付きのような線のように、色はつかなくていいのでmatlabで点と点を結べるツールがあれば助かります。 
青い線は行列の1行目同士、ピンクの線は行列の2行目同士,緑の線が行列11行目同士を結んでいます。 
アドバイスよろしくお願いいたします。

Sign in to comment.

Accepted Answer

Kazuya
Kazuya on 19 Dec 2018
点と点を結ぶ「ツール」はありませんが、プロットを書くならいろいろ方法があります。3つ紹介しますが、どれも同じ結果になります。
まず、プロットするサンプルデータ用意しますが、ワークスペースに入力済というデータと同じように 11x1 のベクトルとします。
N = 11;
p_x = rand(N,1);
p_y = rand(N,1);
q_x = rand(N,1);
q_y = rand(N,1);
方法1
もっとも実直な方法。。
figure(1)
for ii=1:N
plot([p_x(ii),p_y(ii)],[q_x(ii),q_y(ii)])
hold on
end
hold off
方法2
p_x と p_y、q_x と q_y をそれぞれ1つの変数にまとめただけです。 plot コマンド実行時の文字数が少し減る・・。
figure(2)
p_xy = [p_x, p_y];
q_xy = [q_x, q_y];
for ii=1:N
plot(p_xy(ii,:),q_xy(ii,:))
hold on
end
hold off
方法3
ちょっと理解が難しい構造ですが、、呼び出し方としては一番シンプルです。
figure(3)
plot(p_xy',q_xy')
  2 Comments
Yuriko Takagi
Yuriko Takagi on 19 Dec 2018
いくつも方法を考えて頂き本当にありがとうございます。
自分のデータでも試したところお蔭様で無事にできました。助かりました!
お時間使ってくださってありがとうございます!
Kazuya
Kazuya on 19 Dec 2018
よかったです。どういたしましてー。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!