MATLAB Answers

How to efficiently plot functions?

2 views (last 30 days)
I have 12 curves I need to plot on a single graph. This is the current script I have where I have manually asked it to plot each curve.
plot(t,y(:,1),t,y(:,2),t,y(:,3),t,y(:,4),t,y(:,5),t,y(:,6),t,y(:,7),t,y(:,8),t,y(:,9),t,y(:,10),t,y(:,11),t,y(:,12))
Is there a way to make this more efficient without having to write out for each 12?

  0 Comments

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 25 Mar 2020
Edited: John D'Errico on 25 Mar 2020
Wyhy not try it? I don't have t or y, so I'll make them up.
t = (1:10)';
y = rand(10,12);
plot(t,y)
Actually, I don't need to transpose t there, making it a column vector. It just makes me feel better to do so.

  1 Comment

Sign in to comment.

More Answers (1)

Peng Li
Peng Li on 25 Mar 2020
If t is a vector, you use
plot(t, y);
that will automatically plot each column of y against vector t.

  1 Comment

Sign in to comment.

Products