フィルターのクリア

Matrix dimension must agree problem

1 回表示 (過去 30 日間)
Asir Tushar
Asir Tushar 2018 年 12 月 7 日
コメント済み: Asir Tushar 2018 年 12 月 8 日
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)

採用された回答

madhan ravi
madhan ravi 2018 年 12 月 7 日
To be honest I didn't get any errors,
Try clear all at the very beginning of your code and try again.
Screen Shot 2018-12-07 at 11.40.00 PM.png
  3 件のコメント
madhan ravi
madhan ravi 2018 年 12 月 8 日
編集済み: madhan ravi 2018 年 12 月 8 日
2018b you? post the complete error message you get everything in red , alright turns out that you are using version prior to 2016b so use bsxfun() with rdivide for ./ and times for * appropriately.
Asir Tushar
Asir Tushar 2018 年 12 月 8 日
I am using an older version .
Error using +
Matrix dimensions must agree.
Error in Thesis (line 13)
d1=(log(S/K)+(( r + (sigma.^2)/2)*(T-time)))./(sigma*sqrt(T - time)) ;

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by