How to draw line between specific points?
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Vikas Saroha
am 15 Mai 2019
Bearbeitet: madhan ravi
am 15 Mai 2019
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/219619/image.jpeg)
0 Kommentare
Akzeptierte Antwort
Bjorn Gustavsson
am 15 Mai 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 Kommentare
Weitere Antworten (2)
Sayyed Ahmad
am 15 Mai 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 Kommentare
Siehe auch
Kategorien
Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!