フィルターのクリア

Plot Multiple Colours automatically in a for loop

91 ビュー (過去 30 日間)
Robbie
Robbie 2012 年 1 月 11 日
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

採用された回答

Chandra Kurniawan
Chandra Kurniawan 2012 年 1 月 11 日
You should replace line
plot (u_prof,y)
with
plot (u_prof,y,'color',rand(1,3))
  3 件のコメント
Rajan Kumar
Rajan Kumar 2014 年 4 月 25 日
編集済み: Rajan Kumar 2014 年 4 月 25 日
Why (1,3) can it be any other number?
Ilham Hardy
Ilham Hardy 2014 年 4 月 25 日
No it can't.
To resembles the rgb input (1x3 matrix)

サインインしてコメントする。

その他の回答 (2 件)

C.J. Harris
C.J. Harris 2012 年 1 月 11 日
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 件のコメント
Dili Sam
Dili Sam 2012 年 11 月 12 日
THANKS IT WAS USEFUL FOR ME TOO... SAVED MY TIME!!
Taha Alian
Taha Alian 2015 年 3 月 27 日
Excelent

サインインしてコメントする。


Korosh Agha Mohammad Ghasemi
Korosh Agha Mohammad Ghasemi 2020 年 12 月 7 日
%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

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by