Matrix dimension must agree problem
Show older comments
I have run the code on octave which gives the following plot.
When I tried the same code on Matlab , there was a dimension mismatch on line starting with "d1" . I think this is because of broadcasting. Anyone knows how to fix it ?
m=6;
n=61;
S0=70;
S1=130;
K=100;
r=.12;
T=1.0;
sigma=0.10;
time=transpose(linspace(T,0,m))
S=linspace(S0,S1,n);
d1=(log(S/K)+(( r + (sigma.^2)/2)*(T-time)))./(sigma*sqrt(T - time)); %(problem in this line)
d2=(log(S/K)+(( r - (sigma.^2)/2)*(T-time)))./(sigma *sqrt(T - time));
part1=bsxfun ( @times , normcdf ( d1 ) , S ) ;
part2=bsxfun ( @times , K *exp( - r *( T - time ) ) , normcdf ( d2 ) ) ;
VC = part1 - part2
plot(S,VC)

Accepted Answer
More Answers (0)
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!