matlab 微分怎么表示

如题所述

第1个回答  推荐于2017-10-03
微分方程表达式输入中,以大写字母D来表示微分

dsolve调用格式:dsolve('equ1','equ2',..........'equN')
另外要注意:在微分方程表达式输入中,以大写字母D来表示微分,D,D2,.......Dn分别表示一阶,二阶和n阶

2dx/dt+dy/dt-y=exp(-t)
dx/dt+x+y=0 其中初始条件:x(0)=1.5,y(0)=0

首先求解微分方程的通解:

s=dsolve('2*Dx+Dy-y=exp(-t)','Dx+x+y=0');%求解微分方程组的通解
>> s.x
%微分方程组变量x的通解

ans =

-C1*exp((1+2^(1/2))*t)-C2*exp(-(2^(1/2)-1)*t)+1/2*C1*exp((1+2^(1/2))*t)*2^(1/2)-1/2*C2*exp(-(2^(1/2)-1)*t)*2^(1/2)-1/2*exp(-t)

>> s.y
%微分方程组变量y的通解

ans =

C1*exp((1+2^(1/2))*t)+C2*exp(-(2^(1/2)-1)*t)

然后根据初始条件,求解微分方程组的特解:
>> s=dsolve('2*Dx+Dy-y=exp(-t)','dx+x+y=0','x(0)=1.5','y(0)=0');%微分方程组在给定初始条件下的特解
Warning: Explicit solution could not be found.
> In dsolve at 333
>> s=dsolve('2*Dx+Dy-y=exp(-t)','Dx+x+y=0','x(0)=1.5','y(0)=0');%微分方程组在给定初始条件下的特解
>> s.x

ans =

-2^(1/2)*exp((1+2^(1/2))*t)+2^(1/2)*exp(-(2^(1/2)-1)*t)+exp((1+2^(1/2))*t)+exp(-(2^(1/2)-1)*t)-1/2*exp(-t)

>> s.y

ans =

2^(1/2)*exp((1+2^(1/2))*t)-2^(1/2)*exp(-(2^(1/2)-1)*t)

>> %或者使用下面命令直接获取x,y的特解
>> [x,y]=dsolve('2*Dx+Dy-y=exp(-t)','Dx+x+y=0','x(0)=1.5','y(0)=0')

x =

-2^(1/2)*exp((1+2^(1/2))*t)+2^(1/2)*exp(-(2^(1/2)-1)*t)+exp((1+2^(1/2))*t)+exp(-(2^(1/2)-1)*t)-1/2*exp(-t)

y =

2^(1/2)*exp((1+2^(1/2))*t)-2^(1/2)*exp(-(2^(1/2)-1)*t)本回答被提问者和网友采纳
第2个回答  2011-09-30
dsolve