MATLAB Answers

How to draw line between specific points?

30 views (last 30 days)
I have two matrices
A = [1000 1000;...
1003 2640;...
2323 2638;...
2661 1096;...
1000 1000;...
1003 2640];
B = [1003 2640;...
2323 2638;...
2661 1096;...
1000 1000;...
2323 2638;...
2661 1096];
I want to plot lines between points mentioned in A and B. I am plotting it by
data = [A, B];
hold on
for i=1:6
plot(data(i, 1:2), data(i, 3:4));
end
Lines are not connected in the figure which is attached herewith.
Please help.

  0 Comments

Sign in to comment.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 15 May 2019
For the first time around your loop you plot:
plot(data(1, 1:2), data(1, 3:4)); % i.e.
plot(A(1,:),B(1,:))
that corresponds to using [1000 1000] from A as X-coordinates, and [1003 2640] as Y-coordinates of your line.
I don't think that's what you want. Have a think about what lines you want to plot (manually, perhaps for only 2-3 rows
of A and B) and how you need to loop over the rows to achieve that. Homework hint: you are allowed to use nested loops.
HTH

  0 Comments

Sign in to comment.

More Answers (2)

Sayyed Ahmad
Sayyed Ahmad on 15 May 2019
I hope the following codes are what you want:
clear all
close all
clc
A = [ 1000 1000; 1003 2640; 2323 2638; 2661 1096; 1000 1000; 1003 2640]
B= [ 1003 2640; 2323 2638; 2661 1096; 1000 1000; 2323 2638; 2661 1096]
x=zeros(size(A,1)*2,1)
ref=find(mod(1:size(x,1),2))
x(ref)=A(1:size(A,1),1)
x(ref+1)=B(1:size(A,1),1)
y(ref)=B(1:size(A,1),2)
y(ref)=A(1:size(A,1),2)
y(ref+1)=B(1:size(A,1),2)
plot(x,y)

  0 Comments

Sign in to comment.


KSSV
KSSV on 15 May 2019
data = [A ; B] ;
plot(data(:,1),data(:,2))

  0 Comments

Sign in to comment.

Tags


Translated by