24小时热门版块排行榜    

查看: 614  |  回复: 2

旖旎落下

金虫 (小有名气)

[求助] 求解非线性六元方程组,时间紧,自己来不及学了,麻烦大家帮忙,问题简单,悬赏多。 已有1人参与

用MATLAB 非线性求解,不会
>> syms qn dn dr pn pr cn cr sn sr hn hr t e a o A T u1 k Fn Fr zn zr
>>o=0.8;
>>a=0.1;
>>cn=0.4;
>>cr=0.2;
>>k=2;
>>T=1;
>>hn=0.1;
>>sn=0.1;
>>hr=0.05;
>>sr=0.05;
>>A=0.1;
>> dn=1-(pn-pr)/(1-o)>> dr=(o*pn-pr)/(o-o^2)
>> Fn=20*(qn-dn)
>> Fr=20*(qn*e*(a*t+1)-dr)
>> zn=qn-dn
>> zr=qn*e*(a*t+1)-dr
>> eq1='-(pn+hn-cn-sn)*Fn+pn+hn-cn-e*(a*t+1)*(pr+hr+A*(T-t)-cn-sr)*Fr+e*(a*t+1)*(pr+hr+A*(T-t)-cn)+u1*(1-e*(a*t+1))=0'
>> eq2='qn+(hn-hr)/(1-o)+(1+qn-(2*pn-pr-sn-cn+hn)/(1-o))*Fn+Fr*(pr+hr+A*(T-t)-cn-sr)/(1-o)+10*zn^2=0'
>> eq3='e*qn*(a*t+1)+(hr-o*hn)/(o-o^2)+Fn*(pn+hn-cn-sn)/(1-o)+Fr*(o*pn-2*pr+cn+sr-A*(T-t)-hr-o*(1-o)*e*qn*(a*t+1))/(o-o^2)+10*0.05^2-10*zr^2=0'
>> eq4='a*e*qn*(hr+pr+A*(T-2*t-1/a)-cn)+a*e*qn*(sr+cn-hr-A*(T-2*t-1/a)-pr)*Fr-A*(20*dr*zr+10*zr^2)-u1*qn*e*a=0'
>> eq5='qn*(a*t+1)*(pr+hr+A*(T-t)-cn)-qn*(a*t+1)*(pr+hr+A*(T-t)-cn-sr)*Fr-2*k*e-u1*a*t*qn=0'
>> eq6='qn*(1-e*(a*t+1))=0'
最终求解qn pn pr t e u1
是用fsolve算吗,初始值不知道怎么赋,大致推迟大概是0.5 0.5 0.5 0.5 0.5
谢谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cobrasq

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
旖旎落下: 金币+50, ★★★很有帮助, 好。 2014-01-09 10:23:14
以下是如何求数值解。注意,为了简化,让优化工具箱自行计算方程组的数值一阶微分(雅可比矩阵)和二阶微分(Hessian矩阵)。如果结果不理想,可以先调节 options 中的参数。如果还不理想,可以利用符号运算工具箱求出雅可比矩阵和 Hessian 矩阵。

1. 建立一个函数文件 func1.m

function y=func1(x)
%未知量
qn=x(1);
pn=x(2);
pr=x(3);
t=x(4);
e=x(5);
u1=x(6);
%常量
o=0.8;
a=0.1;
cn=0.4;
cr=0.2;
k=2;
T=1;
hn=0.1;
sn=0.1;
hr=0.05;
sr=0.05;
A=0.1;
%简化表达式
dn=1-(pn-pr)/(1-o);
dr=(o*pn-pr)/(o-o^2);
Fn=20*(qn-dn);
Fr=20*(qn*e*(a*t+1)-dr);
zn=qn-dn;
zr=qn*e*(a*t+1)-dr;

%非线性方程组
y = [-(pn+hn-cn-sn)*Fn+pn+hn-cn-e*(a*t+1)*(pr+hr+A*(T-t)-cn-sr)*Fr+e*(a*t+1)*(pr+hr+A*(T-t)-cn)+u1*(1-e*(a*t+1));
qn+(hn-hr)/(1-o)+(1+qn-(2*pn-pr-sn-cn+hn)/(1-o))*Fn+Fr*(pr+hr+A*(T-t)-cn-sr)/(1-o)+10*zn^2;
e*qn*(a*t+1)+(hr-o*hn)/(o-o^2)+Fn*(pn+hn-cn-sn)/(1-o)+Fr*(o*pn-2*pr+cn+sr-A*(T-t)-hr-o*(1-o)*e*qn*(a*t+1))/(o-o^2)+10*0.05^2-10*zr^2;
a*e*qn*(hr+pr+A*(T-2*t-1/a)-cn)+a*e*qn*(sr+cn-hr-A*(T-2*t-1/a)-pr)*Fr-A*(20*dr*zr+10*zr^2)-u1*qn*e*a;
qn*(a*t+1)*(pr+hr+A*(T-t)-cn)-qn*(a*t+1)*(pr+hr+A*(T-t)-cn-sr)*Fr-2*k*e-u1*a*t*qn;
qn*(1-e*(a*t+1))];

2. 建立一个主程序 solve_6_unknowns.m

%清屏,清工作区
clc
clear all

%设置优化算法参数
maxiter = 20000;
maxfuneval = length(x0)*maxiter;
options = optimset('Display‘, ’off',...
    'GradObj', 'off',...
    'Hessian', 'off',...
    'TolX', 1e-6,...
    'TolFun', 1e-6,...
    'MaxIter', maxiter,...
    'MaxFunEvals', maxfuneval);

%设置初始值
x0 = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5];
%调用优化函数
[x, fval, exitflag, output] = fsolve(@func1, x0, options);

%取结果
qn=x(1);
pn=x(2);
pr=x(3);
t=x(4);
e=x(5);
u1=x(6);

%显示结果
disp(['Iterations: ',num2str(output.iterations)])
disp(['Func Evals: ', num2str(output.funcCount)])
disp(['Algorithm: ',output.algorithm])
disp(['exit flag = ',num2str(exitflag)])
disp(['error = ( ',num2str(fval','%-15.6e'),' )'])
disp(['qn = ( ',num2str(qn,'%-15.6f'),' )'])
disp(['pn = ( ',num2str(pn,'%-15.6f'),' )'])
disp(['pr = ( ',num2str(pr,'%-15.6f'),' )'])
disp(['t = ( ',num2str(t,'%-15.6f'),' )'])
disp(['e = ( ',num2str(e,'%-15.6f'),' )'])
disp(['u1 = ( ',num2str(u1,'%-15.6f'),' )'])
2楼2014-01-08 22:57:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

旖旎落下

金虫 (小有名气)

引用回帖:
2楼: Originally posted by cobrasq at 2014-01-08 22:57:57
以下是如何求数值解。注意,为了简化,让优化工具箱自行计算方程组的数值一阶微分(雅可比矩阵)和二阶微分(Hessian矩阵)。如果结果不理想,可以先调节 options 中的参数。如果还不理想,可以利用符号运算工具箱求 ...

最终的结果是什么?
3楼2014-01-09 10:23:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 旖旎落下 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 听说今天filecode变了 +19 布布和一二 2026-08-06 34/1700 2026-08-07 03:13 by 虫友是什么虫
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ANUsWpSnuWQD 2026-08-06 3/150 2026-08-07 02:06 by nSM3ys5fefM3
[基金申请] 基金中了 +6 laoda193707 2026-08-06 6/300 2026-08-06 23:34 by dragonxp
[基金申请] filecode +10 等待解的谜 2026-08-06 14/700 2026-08-06 21:16 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +3 archvillain 2026-08-06 7/350 2026-08-06 21:05 by archvillain
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +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
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +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
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见