全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 金融工程(数量金融)与金融衍生品
1736 6
2016-02-14
悬赏 20 个论坛币 已解决
哪位大好人能不能帮一帮小女子解决这个MATLAB的问题呀? 捕获.JPG

这个是原始公式,我在MATLAB中写的代码如下:
function F=myfun(x)
E_t=939.84e8;alpha=0.05942;L=1228.84e8;sigma_E=0.3531;T=1;
F=([x(1)*normpdf(log(x(1)/(alpha*L)+x(2)^2*T/2)/x(2))-alpha*L*normpdf(log(x(1)/(alpha*L)+x(2)^2*T/2)/x(2)-x(2)*sqrt(T))-E_t;sigma_E*E_t/(x(1)*normpdf(log(x(1)/(alpha*L)+x(2)^2*T/2)/x(2)))-x(2)]);
E_t=939.84e8;alpha=0.05942;L=1228.84e8;sigma_E=0.3531;T=1;V0=15436.1e8;d0=0;sigma0=0.01;
x0=[V0;d0;sigma0]
options=optimset('TolFun',1e-7);
[x,fval]=fsolve(@myfun,x0,options);
V=x(1);sigma=x(2);
y=(log(L/v*(1-alpha))-sigma^2/2)/sigma;
P=normpdf(y+sigma)-(1-alpha)*(V/L)*normpdf(y)
return

主要疑问有:第一,在主菜单上该怎么运行这个函数?第二,从这个编辑页面上直接点运行始终出现“Error using myfun (line 3)
Not enough input arguments”这个问题,请问该怎么解决?
由于写论文需要用,现在发现真的不知道该怎么办了,希望有懂得的大好人帮帮忙吧。。。

最佳答案

Chemist_MZ 查看完整内容

1.建一个函数文件,把code copy进去,保存 2. 在command window里面,或者在同目录下建立一个脚本文件(.m)调用函数并给出自变量x的值, E.g. Myfun(100). 函数自己不能运行只能被call
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-2-14 16:49:39
1.建一个函数文件,把code copy进去,保存

2. 在command window里面,或者在同目录下建立一个脚本文件(.m)调用函数并给出自变量x的值, E.g. Myfun(100). 函数自己不能运行只能被call
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-14 22:13:30
Chemist_MZ 发表于 2016-2-14 21:24
1.建一个函数文件,把code copy进去,保存

2. 在command window里面,或者在同目录下建立一个脚本文件(. ...
请问你知道怎么找初值吗?其他的我已经懂了,但是不同的初值算出来差距好大,还经常说无解。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-15 22:55:01
月凌思 发表于 2016-2-14 22:13
请问你知道怎么找初值吗?其他的我已经懂了,但是不同的初值算出来差距好大,还经常说无解。。
sigma0=0, 你把这个改成别的数比如0.5试试,sigma0有出现在分母,你选择初值为0很容易让optimizer找不到。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-24 15:39:14
楼上就是我想说的,其他不会的也可以问我,matlab一般是先建函数,然后在commnd界面给出数值进行计算,楼主赏点论坛币呗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-27 17:06:05
我解了一下,供参考:
V=101,285,767,280
sigma=32.7644754946265%
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群