24小时热门版块排行榜    

查看: 1949  |  回复: 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的回帖

冯且右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的回帖
查看全部 3 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于代码变化问题,想知道的进来 +14 且听虎啸 2026-08-07 20/1000 2026-08-09 18:03 by 天神眷顾
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:27 by oEVWOejN9taj
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:22 by oEVWOejN9taj
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 5/250 2026-08-08 15:59 by oEVWOejN9taj
[论文投稿] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 15:07 by oEVWOejN9taj
[论文投稿] 售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,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 关于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变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
信息提示
请填处理意见