matlab解非线性微分方程组

各位大神,小弟想求一个微分方程组的解析解,但是遇到了问题。模型:x,y,z为变量①dx/dt=ax②dy/dt=(bQx-S-T)*(1-z/Zm)*y③dz/dt=(c... 各位大神,小弟想求一个微分方程组的解析解,但是遇到了问题。
模型:x,y,z为变量
①dx/dt=ax
②dy/dt=(bQx-S-T)*(1-z/Zm)*y
③dz/dt=(cDx+P-M)*z+eyE

我的程序:
syms a b Q S T z Zm c A P M e E;
SS=dsolve('Dx=a*x','Dy=(b*Q*x-S-T)*y*(1-z/Zm)','Dz=(c*A*x+P-M)*z+e*E');

结果:没有求到解析解,小弟是新手,不知道这个方程组是真的木有解,还是我的方法不对或有其他方法,请大家指点一下。
展开
 我来答
久久不能记住
2011-11-17 · TA获得超过498个赞
知道小有建树答主
回答量:431
采纳率:0%
帮助的人:499万
展开全部
人家问的就是解析解,不知道上边几个在说什么
你这个方程高版本的matlab可以解,只是算出来之后带积分项目:
syms a b Q S T z Zm c A P M e E
SS=dsolve('Dx=a*x','Dy=(b*Q*x-S-T)*y*(1-z/Zm)','Dz=(c*A*x+P-M)*z+e*E')

SS =

y: [1x1 sym]
x: [1x1 sym]
z: [1x1 sym]

>> SS.x

ans =

C5*exp(a*t)

>> SS.y

ans =

C9*exp(int((C7*exp((P*a*t - M*a*t + A*C5*c*exp(a*t))/a)*(S + T - C5*Q*b*exp(a*t)))/Zm + (exp((P*a*t - M*a*t + A*C5*c*exp(a*t))/a)*int(e*exp(M*t - P*t - (A*C5*c*exp(a*t))/a + 1), t, IgnoreAnalyticConstraints)*(S + T - C5*Q*b*exp(a*t)))/Zm, t, IgnoreAnalyticConstraints) - T*t - S*t + (C5*Q*b*exp(a*t))/a)

>> SS.z

ans =

C7*exp((P*a*t - M*a*t + A*C5*c*exp(a*t))/a) + exp((P*a*t - M*a*t + A*C5*c*exp(a*t))/a)*int(e*exp(M*t - P*t - (A*C5*c*exp(a*t))/a + 1), t, IgnoreAnalyticConstraints)

IgnoreAnalyticConstraints是忽略分析限制,这个一般来说是可以忽略的
追问
不好意思哈,非常感谢你,那个我输入公式的时候有点问题,最后的e*E->e*y*E',能麻烦你再用matlab求解一下吗?谢谢啦,分肯定是你的了,灰常感谢。
syms a b Q S T z Zm c A P M e E
SS=dsolve('Dx=a*x','Dy=(b*Q*x-S-T)*y*(1-z/Zm)','Dz=(c*A*x+P-M)*z+e*y*E')
追答
第一组:{x(t) = _C2*exp(a*t)}, 
{y(t) = 0},
{z(t) = _C1*exp(Int(c*A*x(t)+P-M, t))}],
第二组:{x(t) = _C1*exp(a*t)},
{diff(y(t), t, t) = (2*e*y(t)^3*E*b*Q*x(t)*T-y(t)^2*Zm*b^2*Q^2*x(t)^3*c*A-2*y(t)^2*Zm*b*Q*x(t)*M*S+2*y(t)^2*Zm*b*Q*x(t)*P*T-2*y(t)^2*Zm*b*Q*x(t)*M*T+2*y(t)^2*Zm*b*Q*x(t)*P*S-2*y(t)^2*Zm*S*x(t)*c*A*T-y(t)*Zm*(diff(y(t), t))*b*Q*x(t)*M+y(t)*Zm*(diff(y(t), t))*b*Q*x(t)*P-y(t)*Zm*(diff(y(t), t))*x(t)*c*A*T-y(t)*Zm*(diff(y(t), t))*x(t)*c*A*S+Zm*(diff(y(t), t))*y(t)*b*Q*a*x(t)-e*y(t)^3*E*b^2*Q^2*x(t)^2+y(t)^2*Zm*b^2*Q^2*x(t)^2*M-y(t)^2*Zm*b^2*Q^2*x(t)^2*P-y(t)^2*Zm*S^2*x(t)*c*A-y(t)^2*Zm*T^2*x(t)*c*A-Zm*(diff(y(t), t))^2*S-Zm*(diff(y(t), t))^2*T+y(t)^2*Zm*S^2*M-y(t)^2*Zm*S^2*P-y(t)^2*Zm*T^2*P+y(t)^2*Zm*T^2*M-e*y(t)^3*E*S^2-e*y(t)^3*E*T^2+Zm*(diff(y(t), t))^2*b*Q*x(t)-2*e*y(t)^3*E*S*T+y(t)*Zm*(diff(y(t), t))*M*S-y(t)*Zm*(diff(y(t), t))*P*T+y(t)*Zm*(diff(y(t), t))*M*T-y(t)*Zm*(diff(y(t), t))*P*S-2*y(t)^2*Zm*S*P*T+2*y(t)^2*Zm*S*M*T+2*e*y(t)^3*E*b*Q*x(t)*S+y(t)*Zm*(diff(y(t), t))*b*Q*c*A*x(t)^2+2*y(t)^2*Zm*b*Q*x(t)^2*c*A*T+2*y(t)^2*Zm*b*Q*x(t)^2*c*A*S)/(y(t)*b*Q*x(t)*Zm-y(t)*S*Zm-y(t)*T*Zm)}
{z(t) = (-(diff(y(t), t))*Zm+y(t)*b*Q*x(t)*Zm-y(t)*S*Zm-y(t)*T*Zm)/(y(t)*b*Q*x(t)-y(t)*S-y(t)*T)}]
你如果把参数都给出来(而不是只告诉我那是一个常量字母),可以很方便的求数值解
ruifengcao
2011-11-15 · TA获得超过9491个赞
知道大有可为答主
回答量:3579
采纳率:33%
帮助的人:2092万
展开全部
上面的都说的很对,你的方程组不能使用dsolve来求解。你需要使用数值解法
但是数值解法中不能含有字符。所以你的a、b等参数都需要给定一个值然后使用ode45来求解

祝你学习愉快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouming_feng
2011-11-15 · TA获得超过881个赞
知道小有建树答主
回答量:1057
采纳率:100%
帮助的人:939万
展开全部
不能用dsolve这个命令的,应该用ode45,或ode32,具体怎么做你可以help,或者百度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式