How do I pass a vector into a user-defined function?
古いコメントを表示
I am new to MATLAB and just started writing some preliminary functions, and I would like to knowhow to pass a vector as an argument (some of the arguments or all of them).
function [cprice] = cprice(spot, strike, ir, div, ndays,vol)
%Calculates BlackScholes price for Call Options
tir = ndays / 365;
dis = exp(-ir * tir);
F = spot * exp((ir - div) * tir);
d1 = (log(F / strike) + (((vol ^ 2) / 2) * tir)) / (vol * (tir ^ 0.5));
d2 = d1 - (vol * (tir ^ 0.5));
cprice = dis * ((normcdf(d1) * F) - (normcdf(d2) * strike))
採用された回答
その他の回答 (1 件)
Oleg Komarov
2011 年 3 月 13 日
2 投票
You have to use:
- ./
- .*
- .^
whenever the operation involves TWO arrays of the same dimension to obtain elementwise division, multiplication or power.
Oleg
カテゴリ
ヘルプ センター および File Exchange で Digital Filtering についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!