Plot Multiple Colours automatically in a for loop

185 Ansichten (letzte 30 Tage)
Robbie
Robbie am 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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

C.J. Harris
C.J. Harris am 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 Kommentare
Dili Sam
Dili Sam am 12 Nov. 2012
THANKS IT WAS USEFUL FOR ME TOO... SAVED MY TIME!!
Taha Alian
Taha Alian am 27 Mär. 2015
Excelent

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by