MATLAB: Plotting n paths of geometric brownian motion

gbm plotMATLAB

hello, i wanna plot say 30 paths of gbm, my problem is how to plot those paths cause my matrix (X1) is 3 dimensions
dt=1/250;
r=0.2;
sig=0.4;
n=30;
obj = gbm(r, diag(sig), 'StartState', 100)
[X1,T] = obj.simulate(100, 'DeltaTime', dt,'ntrials',30);
plot(T,X1)

Best Answer

Your X1 is a 3D matrix....of dimension 101X1X30. You squeeze it to 2D matrix, to remove unwanted dimension and then use plot.
dt=1/250;
r=0.2;
sig=0.4;
n=30;
obj = gbm(r, diag(sig), 'StartState', 100) ;
[X1,T] = obj.simulate(100, 'DeltaTime', dt,'ntrials',30);
X1 = squeeze(X1) ;
plot(T,X1) ;