Plotting every 2 columns as X,Y in a matrix
57 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Eric Valois
le 5 Mar 2020
Commenté : Eric Valois
le 5 Mar 2020
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
0 commentaires
Réponse acceptée
Cam Salzberger
le 5 Mar 2020
Hey Eric,
"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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Graphics Performance dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!