全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2648 1
2014-07-29

我用fzero命令解一个高次方程,已经得到了解。现在我有8514个方程,这些方程中未知数的系数不同,方程结构一模一样,所以我想写个循环程序,一次解出八千多个方程,相当于循环调用fzero命令。方程中只有x一个未知数,其余的字母都是已知数。

第一部分:将方程写成.M文件FunctionF=myfun(x,price,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,roe1,roe2,roe3,roe4,roe5,roe6,roe7,roe8,roe9,roe10,roe11,roe12)

for m=1:8514

F(m)=price(m)-b0(m)-[(roe1(m)-x)*b1(m)/(1+x)]-[(roe2(m)-x)*b2(m)/(1+x)^2]-[(roe3(m)-x)*b3(m)/(1+x)^3]-[(roe4(m)-x)*b4(m)/(1+x)^4]-[(roe5(m)-x)*b5(m)/(1+x)^5]-[(roe6(m)-x)*b6(m)/(1+x)^6]-[(roe7(m)-x)*b7(m)/(1+x)^7]-[(roe8(m)-x)*b8(m)/(1+x)^8]-[(roe9(m)-x)*b9(m)/(1+x)^9]-[(roe10(m)-x)*b10(m)/(1+x)^10]-[(roe11(m)-x)*b11(m)/(1+x)^11]-[(roe12(m)-x)*b12(m)/x*(1+x)^11];

end

第二部分:调用命令解方程

for k=1:8514

r=fzero(‘myfun’,c(k))

end

运行后显示无法调用myfun,“因为输入参数的数目不足”。

我现在还有一点不确定,就是这种循环用fzero还是用fsolve命令。请各位牛人帮助解答下,急等!


二维码

扫码加我 拉你入群

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

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

全部回复
2014-7-30 14:36:57
c是什么东西
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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