让我们以我为编写算术布朗运动而编写的这段代码为例:
%% 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条轨迹,但我想找到一种方法来改变我选择的任意轨迹的颜色图。我想要更明亮的颜色。每次我绘制任何随机过程模拟时都会遇到这个问题,所以我正在寻找一些我可以每次都可以使用的东西,而且可能很简单。有谁知道怎么做?
答案 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));
它当然也适用于不同数量的轨迹。