How to plot magnitude and directions between 2 points?

7 ビュー (過去 30 日間)
Adilla Zulkifli
Adilla Zulkifli 2019 年 12 月 9 日
コメント済み: Adilla Zulkifli 2019 年 12 月 10 日
Hi,
I have a set of stations coordinates in a text file. The stations coordinates consist of positions of 2 points (X1, Y1) and (X2, Y2) at 50 stations. How do I plot/visualize the magnitude and direction of the stations coordinate to see the the changes in distance and direction?
Basically I want the plot to look like this [x1, y1]--------->[x2, y2] (with correct magnitude and direction) but for 50 stations.
I have tried the function quiver, but still cannot plot all the 50 stations.
Can somebody show me how to plot the magnitude and direction for 50 stations?
Thank you.
  2 件のコメント
darova
darova 2019 年 12 月 9 日
Can you attach your attempts? And how do you want magnitude and direction to look like?
Adilla Zulkifli
Adilla Zulkifli 2019 年 12 月 9 日
Attached is the input file in text file format. I would like to have Point 1A (X2, Y2) with magnitude and direction towards Point 1B (X1, Y1) which looks like an arrow. But the total of points I have are 50. So basically, the plot is supposed to have 50 arrows with magnitude and direction.
I have already tried using this coding but it doesn't work ;
data = load ('Input.txt');
[row, col] = size (data);
Y2 = data (:,1);
X2 = data (:,2);
Y1 = data (:,3);
X1 = data (:,4);
format long
delta_X = X2 - X1;
delta_Y = Y2 - Y1;
magnitude = sqrt(((delta_X).^2)+((delta_Y).^2));
format short
direction = wrapTo360(radtodeg(atan2(delta_X,delta_Y)));
P1 = [X2 Y2];
P2 = [X1 Y1] ;
DP = P2-P1;
figure(1)
quiver(P1(1),P1(2),DP(1),DP(2),0)
grid

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

採用された回答

darova
darova 2019 年 12 月 9 日
編集済み: darova 2019 年 12 月 9 日
try this (not tested)
data = load ('Input.txt');
[row, col] = size (data);
Y2 = data (:,1);
X2 = data (:,2);
Y1 = data (:,3);
X1 = data (:,4);
delta_X = X2 - X1;
delta_Y = Y2 - Y1;
magnitude = sqrt(((delta_X).^2)+((delta_Y).^2));
cm = jet(50); % create colormap
ind = 1 + round(magnitude/max(magnitude)*49); % convert magnitude to index
plot(0,0)
hold on
for i = 1:length(X1)
quiver(X1(i),Y(i),delta_X(i),delta_Y(i),'color',cm(ind(i)))
end
hold off
  5 件のコメント
darova
darova 2019 年 12 月 10 日
Look HERE
Adilla Zulkifli
Adilla Zulkifli 2019 年 12 月 10 日
Yes. I already did that. Thank you again :)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by