解一个微分方程组问题如下:du/dt=v+w dv/dt=-u+xw(t)与x(t)已知;初值:u(

发布时间:2021-02-26 04:27:00

解一个微分方程组问题如下:du/dt=v+w dv/dt=-u+xw(t)与x(t)已知;初值:u(0)=x(0),v(0)=w(0);请问用matlab如何求解u、v?用改进欧拉法及四级龙格库塔法迭代求解,结果不理想,应该是我程序的问题.另外,请问可否用解析法来求解?这样应该更准确.您回答了此问题,我把我剩下的积分都给你.

网友回答

首先纠正一下你提问的说法,你给出的是一个常微分方程的初值问题,不是微分方程组,这两个是由区别的.下面开始解答你的问题:
一、先求方程的通解(这一部分是从给你的一道相同题目中拷贝过来的,写到这里是为了方便理解.所不同的是:一个常数是Q,一个是Wm):
化简方程(将分母中W^2的系数1/(Wm)提出去,并放到等号右边)为: dW/[(Wm)W-W^2]=[k/(Wm)]dt,
再整理(分母分解因式):dW/[W(Wm-W)]=[k/(Wm)]dt
等号左边裂项得:
1/(Wm)[dW/W+dW/(Wm-W)]=[k/(Wm)]dt
即 [dW/W+dW/(Wm-W)]= kdt
两边同时积分得:ln|W|-ln|W-Wm|=kt+c1
W/(W-Wm)=Ce^(kt)
整理可得方程的通
W(t)=-[C(Wm)e^(kt)]/[1-Ce^(kt)].
二、代入初始条件求特解,即确定通解中的常数C:
由W(0)=W0可知:
W0=W(0)=-[C(Wm)e^(k*0)]/[1-Ce^(k*0)]
=-[C(Wm)]/[1-C].
解得:C=W0/(W0-Wm).
因此原初值问题的解为:
W(t)=-[(W0)(Wm)e^(kt)]/[(W0)( 1-e^(kt) )-Wm].
以上问题属网友观点,不代表本站立场,仅供参考!