楼主: ly497068456
2200 3

[有偿编程] 用fsolve计算的一个非线性方程组运算好久没结果 [推广有奖]

  • 1关注
  • 0粉丝

高中生

15%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.4500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
803 点
帖子
3
精华
0
在线时间
42 小时
注册时间
2017-2-10
最后登录
2025-4-30

楼主
ly497068456 发表于 2017-10-6 23:45:45 |AI写论文
10论坛币
屏幕快照 2017-10-06 下午11.43.01.png

这个是我编的函数:

function F=myfun(x,e,d,r,v)

F=[x(1)-(log2(x(4)/d)+(r+0.5*x(3).^2))/(x(3));

     x(2)-x(1)-x(3);v-x(4)*x(3)*normcdf(x(1),0,1)/e;

e-normcdf(x(1),0,1)*x(4)-normcdf(x(2),0,1)*d*exp(-1*r);];

end




这个是在命令窗口我输入的:

for i=1:817;

e=E(i);r=r(i);d=D(i);v=Evreturnbxlqpricee(i);

x0 = [1,1,1,1];

x(i)=fsolve(@(x)myfun(x,e,d,r,v),x0,optimset('display','iter','MaxFunEvals',10e+1000,'MaxIter',10e+1000));

end
运算好久都没有结果,求大神们指点啊

关键词:fsolve 非线性方程组 线性方程组 非线性方程 Solve

沙发
美年达7 发表于 2017-12-8 20:41:00
写了一个小程序,可以解目标方程组。小程序在zip里,略大,以后有空再压缩。已打包成exe文件,不需要搭建环境,即点即用。结果可以代入原方程组检验。

01.png (38.09 KB)

目标方程组

目标方程组

02.png (31.17 KB)

程序运行效果

程序运行效果

03.png (50.41 KB)

zip内部

zip内部

merton equation.zip
下载链接: https://bbs.pinggu.org/a-2374283.html

53.54 MB

需要: 3 个论坛币  [购买]

内含exe文件,即点即用。

本附件包括:

  • merton equation.exe

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 30 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
ly497068456 发表于 2018-2-9 12:04:02
function F=myfun(x,ee,dd,rr,vv)

F=[x(1)-(log2(x(4)/dd)+(rr+0.5*x(3).^2))/(x(3));
      x(2)-x(1)+x(3);vv-x(4)*x(3)*normcdf(x(1),0,1)/ee;
ee-normcdf(x(1),0,1)*x(4)+normcdf(x(2),0,1)*dd*exp(-1*rr);];
for i=1:1:length(e);vp=[1;v];ee=e(i);dd=d(i);rr=r(i);vv=vp(i);x0=[1,1,1,3000000];
options = optimoptions('fsolve','Display','off','Diagnostics','off','TolFun',1e-6,'TolX',1e-6,'MaxFunEvals',1e+100,'MaxIter',1e+100,'PlotFcn',@optimplotfirstorderopt);
[x,fval,exitflag] = fsolve(@(x) myfun(x,ee,dd,rr,vv),x0,options);
x1(i)=x(1);x2(i)=x(2);x3(i)=x(3);x4(i)=x(4);
end

板凳
clingch 发表于 2018-4-3 12:36:27
有可能是初值给的不合理,建议改一下初值实验一下。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 14:49