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

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

サインインしてコメントする。

採用された回答

Kazuya
Kazuya 2018 年 12 月 19 日
点と点を結ぶ「ツール」はありませんが、プロットを書くならいろいろ方法があります。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 件のコメント
Yuriko Takagi
Yuriko Takagi 2018 年 12 月 19 日
いくつも方法を考えて頂き本当にありがとうございます。
自分のデータでも試したところお蔭様で無事にできました。助かりました!
お時間使ってくださってありがとうございます!
Kazuya
Kazuya 2018 年 12 月 19 日
よかったです。どういたしましてー。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeライン プロット についてさらに検索

Community Treasure Hunt

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

Start Hunting!