永发信息网

紧急求教,matlab解四元微分方程的程序,谢谢

答案:2  悬赏:40  手机版
解决时间 2021-02-28 15:54
dx0/dt =20-0.15*x0*x1+0.8*0.05*x1+0.8*0.05*x2+0.8*0.05*x3
dx1/dt =x1*(-0.05+0.0265*0.15*x0-0.15*x2)
dx2/dt =x2*(-0.05+0.15*0.15*x1-0.15*x3)
dx3/dt ==x3*(-0.05+0.15*0.15*x2)

我想要的就是解析解,而且我也像你所说的做了,它显示 Error, (in dsolve/IC) The 'implicit' option is not available when giving Initial Conditions
最佳答案
先建立微分方程组子函数:
function f=yourfun(t,x)
f=zeros(4,1);
f(1) =20-0.15*x(1)*x(2)+0.8*0.05*x(2)+0.8*0.05*x(3)+0.8*0.05*x(4)
f(2) =x(2)*(-0.05+0.0265*0.15*x(1)-0.15*x(3))
f(3) =x(3)*(-0.05+0.15*0.15*x(2)-0.15*x(4))
f(4) =x(4)*(-0.05+0.15*0.15*x(3))
再调用
[T,X] = ode45(@yourfun,[0 10],[0 0.5 0 1]);
如果想直接看到结果可用
plot(T,X)
全部回答
调用方法:[t,x] = ode45(@eqx,[0 0.2] ,[0 1 1.1 1.25])x的初始值写在一个矩阵里. 另外你的函数定义时k少一维k(4),我给你加了一个: function xdot = eqx(t,x); m = 0.5; alf = 0.15; k=[0.0265,0.1,0.15,0.12]; q=20; a=0.8; xdot = zeros(4,1); xdot(1) = q - alf * x(1) * x(2) + a*m*(x(1)+x(2)+x(3)+x(4)); xdot(2) = x(2) * (-m + k(2) * alf * x(1) - alf * x(3)); xdot(3) = x(3) * (-m + k(3) * alf * x(2) - alf * x(4)); xdot(4) = x(4) * (-m + k(4) * alf * x(3));
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
honor/荣耀荣耀9青春版是全网通4.0吗
2.53乘以零点七用竖式怎样计算
我的麦克风输出总是会自动关闭,怎么回事?
金意装饰部在什么地方啊,我要过去处理事情
日历多少年一循环?
城上有云打一成语但没有云字
我的全自动机械表,秒针正常,分针,一天快十
广元新华印制公司在什么地方啊,我要过去处理
1+2等于3童装吉水店怎么去啊,有知道地址的么
大东海有什么好吃
海南农垦技工学校我想知道这个在什么地方
金立开不了机怎么办
赵元庚有没有怀疑牛旦是梁飞虎和梨花的儿子
土耳其烤肉怎么腌肉
辉煌电竞我想知道这个在什么地方
推荐资讯
空得意目光如麻,谁料金屋变败瓦。是什么意思
清朝英国为何对中国茶叶需求量增多
海城区驿马社区卫生中心怎么去啊,有知道地址
邱琛和刘奕这两个名字差几画
判断题 1、4.5和4.50的大小相等,计数单位也
王三鱼头王火锅城在什么地方啊,我要过去处理
燃气取暖器安全吗?
链家房产在哪里啊,我有事要去这个地方
火加廉组成的字怎么读
左边一个麦子的麦,右边一个夫人的夫是啥
法院第一次认证后第二次能否否认?
35岁,深圳男,准备转行开始做销售不知道可行
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?