Plotting every 2 columns as X,Y in a matrix

조회 수: 56 (최근 30일)
Eric  Valois
Eric Valois 2020년 3월 5일
댓글: Eric Valois 2020년 3월 5일
Hey everyone,
Bigginer matlab user here, so bare with me. I have a matrix that is 9011X54. I need to plot every 2 rows as (X,Y) onto the same graph and I know there has to be an easy way to do this just have no idea how.
Thanks!
Eric

채택된 답변

Cam Salzberger
Cam Salzberger 2020년 3월 5일
Hey Eric,
This is pretty simple. The key to making it even simpler is this line in the plot documentation:
"If X and Y are both matrices, then they must have equal size. The plot function plots columns of Y versus columns of X."
So we just need to form your matrix (call it A) into two matrices X and Y, with each line's data in a column.
AT = A.'; % Transpose A into column order
X = AT(:, 1:2:end); % Get every other column for X
Y = AT(:, 2:2:end); % Similar for Y
plot(X, Y)
I'm assuming that you actually meant your original matrix is 54 x 9011 (rows x columns), since otherwise there wouldn't be an even number of rows to pair for x and y. This will make 27 lines, which is doable. If you were making hundreds or thousands of lines, though, that would probably slow down your graphics system too significantly. Keep that in mind for the future.
-Cam

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by