dsolve解微分方程组问题出在哪里?如果写方程如下:[x1,y1]=dsolve('Dx1=0.08*(1-(1+0.15)*x1/800+0.01*y1/900)*x1 ,Dy1=0.07*(1-(1+0.1)*y1/900+0.008*x1/800)*y1','x1(0)=2,y1(0)=10')则不能得到解;但是如果方程如下:[x1,y1]=dsolve('Dx1=0.08*(1-(1+0.15)*x1/800+0.01*10/900)*x1','Dy1=0.07*(1-(1+0.1)*y1/900+0.008*2/800)*y1','x1(0)=2,y1(0)=10')便可以得到解.为什么呢?难道dsolve不能出现“x*y“这样的乘积项?请大侠赐教,
问题描述:
dsolve解微分方程组问题出在哪里?
如果写方程如下:[x1,y1]=dsolve('Dx1=0.08*(1-(1+0.15)*x1/800+0.01*y1/900)*x1 ,Dy1=0.07*(1-(1+0.1)*y1/900+0.008*x1/800)*y1','x1(0)=2,y1(0)=10')
则不能得到解;
但是如果方程如下:[x1,y1]=dsolve('Dx1=0.08*(1-(1+0.15)*x1/800+0.01*10/900)*x1','Dy1=0.07*(1-(1+0.1)*y1/900+0.008*2/800)*y1','x1(0)=2,y1(0)=10')便可以得到解.为什么呢?
难道dsolve不能出现“x*y“这样的乘积项?请大侠赐教,
答
后者是两个相互独立的非线性常微分方程,dsolve相当于世界了两个互不相关的常微分方程;前者是一个非线性常微分方程组,dsolve无法直接解.不过我想到一个办法解决这个问题,从第一个方程中可解出y1=45/8*(200000*Dx1-16...