writing a formula in matlab

1 回表示 (過去 30 日間)
amir khalighi
amir khalighi 2018 年 4 月 30 日
コメント済み: Geoff Hayes 2018 年 5 月 5 日
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 件のコメント
amir khalighi
amir khalighi 2018 年 5 月 2 日
I wrote this program but it's not working could anyone tell me what's the problem please?

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

回答 (1 件)

Geoff Hayes
Geoff Hayes 2018 年 4 月 30 日
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 件のコメント
amir khalighi
amir khalighi 2018 年 5 月 4 日
編集済み: Geoff Hayes 2018 年 5 月 5 日
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 2018 年 5 月 5 日
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.

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

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by