writing a formula in matlab

1 visualizzazione (ultimi 30 giorni)
amir khalighi
amir khalighi il 30 Apr 2018
Commentato: Geoff Hayes il 5 Mag 2018
Hello all I have a formula that I want to write it in matlab but I don't know about sigma and Combination,can anyone help me please the formula is
i want to calculate 'C' amount but when it is less or equal with 0 'C=0' and when it is bigger than 0 C amount=the calculated amount all of the amounts (r,u,d,n,St-n,k) are given ('p' should calculate) and if it is possible I want to do it with xlsread for given data and rewrite C amount in the main excel file I don't know i explained it well or not :( thanks for all of your helps
  1 Commento
amir khalighi
amir khalighi il 2 Mag 2018
I wrote this program but it's not working could anyone tell me what's the problem please?

Accedi per commentare.

Risposte (1)

Geoff Hayes
Geoff Hayes il 30 Apr 2018
amir - since you have a summation, then consider using a for loop to iterate from 0 to n. See for loops for more details. As for the n choose j, see nchoosek.
  11 Commenti
amir khalighi
amir khalighi il 4 Mag 2018
Modificato: Geoff Hayes il 5 Mag 2018
maybe for help the code is :
clc;
clear;
r=0.01;
u=0.05;
d=-0.04;
n=4;
j=0;
St=40;
K=25;
p=(r-d)/(u-d)
C=(1/(1+r)^n)*(symsum(nchoosek(n,j)*p^j*(1-p)^(n-j)*max(0,((1+u)^j)*(1+d)^(n-j)*St/K))),j,0,n)
also I made another post HERE
you also can help me there
thank you
Geoff Hayes
Geoff Hayes il 5 Mag 2018
The error message is telling you that there is a problem with the brackets in your line of code - possibly too many. You may want something like
C=(1/(1+r)^n)*symsum(nchoosek(n,j)*p^j*(1-p)^(n-j)*max(0,((1+u)^j)*(1+d)^(n-j)*St/K),j,0,n)
Please verify which are the inputs to your symsum function call.

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by