24小时热门版块排行榜    

查看: 1947  |  回复: 2

冯且右11

铜虫 (初入文坛)

[求助] 穷虫50金! MATLAB的fsolve初值问题 已有1人参与

大家好,请教一个问题

在下用fsolve解非线性方程组,可是初值稍微改变,解就跟着变,我取的初值的绝对误差应该已经小于1。

是不是fsolve这个算法不好,有没有什么办法优化呢?


先谢谢各位啦~ 算法见下

function f =  emuch(x)
B = 0.003;
C = 0.0027;
H = x(1)+75*(B+C)+0.5*x(11);
alpha1 = 0.5+6*x(10)-H;
beta1 = H*(0.01-1)+(0.5+6*x(10))*(1+0.01);
gamma1 = 0.01*H;
alpha2 =0.15-x(10);
beta2 = 0.3;
gamma2 = x(10);
alpha3 = 0.3+0.2*x(10)-x(8);
beta3 = x(8)*(0.1-1)+(0.3+0.2*x(10))*(1+0.1);
gamma3 = x(6)*0.1;
Q = 0.01*(1-x(9))+2*x(9)+0.05*x(6);
P = 0.1+0.25*x(6);
R = 0.3*(20*B+2*C+x(1)+x(11)+0.067*x(10));
J = 0.64*(B+x(1)+0.5*x(11)+x(10));

f1 = 0.05*(2*gamma1/(beta1+sqrt(beta1^2-4*alpha1*gamma1)))-0.1*x(1);
f2 = 0.002+0.05*(2*gamma2/(beta2+sqrt(beta2^2-4*alpha2*gamma2)))-Q*x(2);
f3 = 0.006+0.02*(2*gamma1/(beta1+sqrt(beta1^2-4*alpha1*gamma1)))-P*x(3);
f4 =0.02+0.1*(2*gamma3/(beta3+sqrt(beta3^2-4*alpha3*gamma3)))-(0.01+R/(0.05+x(4)))*x(4);
f5 = 50*x(10)*x(12)-(0.06+Q+R/(0.05+x(4)))*x(5);
f6 = 50*x(11)*x(12)-(0.06+P+R/(0.05+x(4)))*x(6);
f7 = (0.005+0.06*x(8))-0.08*x(7);
f8 = x(7)-2*x(8);
f9 = (0.04+2*x(8))*(1-x(9))/(1.05-x(9))-J*x(9)/(0.05+x(9));
f10 = x(2)-x(5);
f11 = x(3)-x(6);
f12 = x(4)-x(5)-x(6);
f = [f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12];
end
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

george1990

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
冯且右11: 金币+10, 有帮助, 谢谢啦~,不过这个的精度貌似也不太好,因为从f8显然能看出x7和x8 2014-06-29 18:20:53
楼主可以使用1stOpt这个软件来求解,相对于matlab求解此类方程时的,1stOpt省去了fsolve需要的初值的问题,而且精度一般都很高。
下面是程序:
Parameter x(1:12);
//Constant
Constant   B = 0.003;
Constant   C = 0.0027;
//ConstStr
ConstStr  H = x1+75*(B+C)+0.5*x11;
ConstStr  alpha1 = 0.5+6*x10-H;
ConstStr  beta1 = H*(0.01-1)+(0.5+6*x10)*(1+0.01);
ConstStr  gamma1 = 0.01*H;
ConstStr  alpha2 =0.15-x10;
ConstStr  beta2 = 0.3;
ConstStr  gamma2 = x10;
ConstStr  alpha3 = 0.3+0.2*x10-x8;
ConstStr  beta3 = x8*(0.1-1)+(0.3+0.2*x10)*(1+0.1);
ConstStr  gamma3 = x6*0.1;
ConstStr  Q = 0.01*(1-x9)+2*x9+0.05*x6;
ConstStr  P = 0.1+0.25*x6;
ConstStr  R = 0.3*(20*B+2*C+x1+x11+0.067*x10);
ConstStr  J = 0.64*(B+x1+0.5*x11+x10);

ConstStr   f1 = 0.05*(2*gamma1/(beta1+sqrt(beta1^2-4*alpha1*gamma1)))-0.1*x1;
ConstStr   f2 = 0.002+0.05*(2*gamma2/(beta2+sqrt(beta2^2-4*alpha2*gamma2)))-Q*x2;
ConstStr   f3 = 0.006+0.02*(2*gamma1/(beta1+sqrt(beta1^2-4*alpha1*gamma1)))-P*x3;
ConstStr   f4 =0.02+0.1*(2*gamma2/(beta3+sqrt(beta3^2-4*alpha3*gamma3)))-(0.01+R/(0.05+x4))*x4;
ConstStr   f5 = 50*x10*x12-(0.06+Q+R/(0.05+x4))*x5;
ConstStr   f6 = 50*x11*x12-(0.06+P+R/(0.05+x4))*x6;
ConstStr   f7 = (0.005+0.06*x8)-0.08*x7;
ConstStr   f8 = x7-2*x8;
ConstStr   f9 = (0.04+2*x8)*(1-x9)/(1.05-x9)-J*x9/(0.05+x9);
ConstStr   f10 = x2-x5;
ConstStr   f11 = x3-x6;
ConstStr   f12 = x4-x5-x6;

Function f1=0;
f2=0;
f3=0;
f4=0;
f5=0;
f6=0;
f7=0;
f8=0;
f9=0;
f10=0;
f11=0;
f12=0;
求出来的x系列的值如下:
x1: -0.00241408292469573
x2: -1.19963721286631E-5
x3: -0.00163511248524538
x4: -0.00164712704345382
x5: -1.19975380217937E-5
x6: -0.00163512908617766
x7: -7.04705240745422E-20
x8: 1.73072251386771E-18
x9: -0.00331312406855758
x10: -0.0122596988050143
x11: -1.65447541443873
x12: -0.000192121359156606
但是楼主注意,这个方程组好像答案不唯一,对于x是否还有别的约束条件呢,楼主可以在看看,这系列值只作为楼主参考。
天天多学一点
2楼2014-06-28 23:47:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

冯且右11

铜虫 (初入文坛)

抱歉啊!!! f10 ,f11 ,f12应该改去掉 ,改为:

x10=x2-x5
x11=x3-x6
x12=x4-x5-x6
3楼2014-06-29 18:47:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 冯且右11 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 十年后又回来了,论文投稿求助 +5 哈哈114477 2026-08-01 5/250 2026-08-08 15:14 by 仁砚薪传
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 WQyTGMbfH7Cx 2026-08-07 4/200 2026-08-08 15:02 by oEVWOejN9taj
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:47 by oEVWOejN9taj
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:22 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +5 a089 2026-08-07 5/250 2026-08-08 14:04 by alian_214
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 KXLV3nuBVBY7 2026-08-07 6/300 2026-08-08 14:01 by oEVWOejN9taj
[基金申请] 关于代码变化问题,想知道的进来 +11 且听虎啸 2026-08-07 14/700 2026-08-08 12:50 by 布布和一二
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见