필터 지우기
필터 지우기

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

조회 수: 298 (최근 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 CenterFile Exchange에서 ライン プロット에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!