MATLAB Answers

Plotting every 2 columns as X,Y in a matrix

2 views (last 30 days)
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.


Sign in to comment.

Accepted Answer

Cam Salzberger
Cam Salzberger on 5 Mar 2020
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.

More Answers (0)