使用多行更改Matlab图中色彩映射的最简单方法是什么

时间:2015-12-15 11:07:50

标签: matlab plot colors

让我们以我为编写算术布朗运动而编写的这段代码为例:

%% Simulate an arithmetic Brownian motion
% $$ dX(t) = mu*dt + sigma*dW(t) $$

% Define parameters and time grid
npaths = 500; % number of paths (trajectories)
T = 1; % time horizon
nsteps = 150; % number of time steps
dt = T/nsteps; % time step size
t = 0:dt:T; % observation times
mu = 0.2; sigma = 0.3; % model parameters

% Compute the increments 
dX = mu*dt + sigma*sqrt(dt)*randn(nsteps,npaths);

% Accumulate the increments: compute the ABM
X = [zeros(1,npaths); cumsum(dX)]; % sets first row as zero

% Plot 20 sample trajectories
figure(1);
plot(t,X(:,1:20)); % just select 20 trajectory for clarity's sake

这里我绘制了20条轨迹,但我想找到一种方法来改变我选择的任意轨迹的颜色图。我想要更明亮的颜色。每次我绘制任何随机过程模拟时都会遇到这个问题,所以我正在寻找一些我可以每次都可以使用的东西,而且可能很简单。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

我使用了@mikkola建议,函数distinguishable_colors

% Plot 20 sample trajectories
c = distinguishable_colors(20);
a = axes; hold(a,'on');
set(a,'ColorOrder',c);  
%  
plot(t,X(:,1:20));   

它当然也适用于不同数量的轨迹。