program error :Unbalanced or unexpected parenthesis or bracket

1 次查看(过去 30 天)
Hi all
I wrote a program for below formula , but when i run it , it face an error (Unbalanced or unexpected parenthesis or bracket.)
and also for C calculated amount I need a fixation : when calculated C from above formula is less than 0 put C=0 and when C is amount from above formula is bigger than 0 put C=calculated amount ( i mean for exmple when it become -20 then put C=0 and for example when C=20 put C=20 and make no changes)
I attached the program but for certain I write the code here :
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)
Could anyone help me and fix change the program to work and fix C amount
I'm in hurry and just have 2 hours
plz help me
thank you all
  8 个评论

请先登录,再进行评论。

采纳的回答

Ameer Hamza
Ameer Hamza 2018-5-4
As evident from the error message, you are having unbalanced brackets. You should clearly pay attention to error messages. Also max() function will only work on symbolic expression if you clearly describe its type. Here is the corrected code
clc;
clear;
r=0.01;
u=0.05;
d=-0.04;
n=4;
syms k integer;
St=40;
K=25;
p=(r-d)/(u-d);
C=(1/(1+r)^n)*symsum((nchoosek(n,k).*p.^k*(1-p).^(n-k).*max(0,((1+u).^k).*(1+d).^(n-k).*St/K)),k,0,n);
  2 个评论
amir khalighi
amir khalighi 2018-5-4
Error using sym/max (line 97) Input arguments must be convertible to floating-point numbers.
Error in math (line 11) C=(1/(1+r)^n)*symsum((nchoosek(n,k).*p.^k*(1-p).^(n-k).*max(0,((1+u).^k).*(1+d).^(n-k).*St/K)),k,0,n);
  • what should i do now?
Ameer Hamza
Ameer Hamza 2018-5-4
Have you ran the following line.
syms k integer;
I also changed variable name from j to k, to avoid conflict with MATLAB internal constant.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by