Plot Multiple Colours automatically in a for loop

131 vues (au cours des 30 derniers jours)
Robbie
Robbie le 11 Jan 2012
Hi,
I am trying to plot a graph, with a different colour being used automatically for each line on the plot, is there a simple way to do this? Here is my code:
% Define a range of y values
y = [0:0.01:1];
hold on
% Create a loop, which calculates the velocity profile for each a_0
% coefficient in the range 0 => 2.67 with 0.267 increments:
for a_0 = [0:0.267:2.67];
for i = 1:length(y)
% Define boundary layer thickness delta as 99% U_inf
delta = 0.99;
% Define eta as a function of y position and the constant delta:
eta(i) = y(i)./delta;
% Calculate the velocity profile:
u_prof(i) = (a_0.*eta(i)) - ((((3./2).*a_0)-2).*(eta(i).^2)) - ((1- (a_0./2)).*(eta(i).^4));
end
% Plot the velocity profile for each a_0 coefficient
plot (u_prof,y)
grid on
end
hold off
Thanks,
Robbie

Réponse acceptée

Chandra Kurniawan
Chandra Kurniawan le 11 Jan 2012
You should replace line
plot (u_prof,y)
with
plot (u_prof,y,'color',rand(1,3))
  3 commentaires
Rajan Kumar
Rajan Kumar le 25 Avr 2014
Modifié(e) : Rajan Kumar le 25 Avr 2014
Why (1,3) can it be any other number?
Ilham Hardy
Ilham Hardy le 25 Avr 2014
No it can't.
To resembles the rgb input (1x3 matrix)

Connectez-vous pour commenter.

Plus de réponses (2)

C.J. Harris
C.J. Harris le 11 Jan 2012
I would suggest taking a look at the 'hold all' command. Just replace the line:
hold on
with:
hold all
That way you won't have to make any other modifications to your code.
  3 commentaires
Dili Sam
Dili Sam le 12 Nov 2012
THANKS IT WAS USEFUL FOR ME TOO... SAVED MY TIME!!
Taha Alian
Taha Alian le 27 Mar 2015
Excelent

Connectez-vous pour commenter.


Korosh Agha Mohammad Ghasemi
%https://zil.ink/korosh -------- Ways to contact me ----------
% Korosh Agha Mohammad Ghasemi !
% Chemical Engineering at Shiraz University
x=linspace(0,2,100);
figure;
for a=[0.1 0.5 1 2 4]
y=x.^a; %The function is hypothetical
if a == 0.1 %Any color can be substituted
y=x.^a;
plot(x,y,'k') %Now choose the color
hold on
elseif a == 0.5
y=x.^a;
plot(x,y,'b') %Now choose the color
hold on
elseif a==1
y=x.^a;
plot(x,y,'g') %Now choose the color
hold on
elseif a==2
y=x.^a;
plot(x,y,'r') %Now choose the color
hold on
elseif a==4
y=x.^a;
plot(x,y,'y') %Now choose the color
hold on
grid on
end
end

Catégories

En savoir plus sur Orange dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by