How do I pass a vector into a user-defined function?
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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))
0 Commenti
Risposta accettata
Andrew Newell
il 13 Mar 2011
It looks like all you need to do is replace each * by .*, each ^ by .^ and each / by ./
0 Commenti
Più risposte (1)
Oleg Komarov
il 13 Mar 2011
You have to use:
- ./
- .*
- .^
whenever the operation involves TWO arrays of the same dimension to obtain elementwise division, multiplication or power.
Oleg
0 Commenti
Vedere anche
Categorie
Scopri di più su Digital Filtering in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!