常微分方程
ODE,是未知函数中只含有一个自变量的微分方程
偏微分方程
PDE,是未知函数是多元函数的微分方程
解析解
>> y=dsolve('D2y=0','x')%%%%%%%%%%%%%%%%%%%%%%%%D2y指y的2阶导,x指自变量
y =C2 + C1*x
>> u=dsolve('Du=1+u^2','t')u =tan(C4 + t)1i-1i
>> dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')ans =3*sin(5*x)*exp(-2*x)
[x,y,z]=dsolve('Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z','t')
%%%%%%%%%%%%结果%%%%%%%%%%%
x =
C8*exp(2*t) + C9*exp(-t)
y =
C8*exp(2*t) + C9*exp(-t) + C10*exp(-2*t)
z =
C8*exp(2*t) + C10*exp(-2*t)
总结一下:
dsolve(‘方程1,方程2,…方程n’ , ‘初值条件1,初值条件2’ , 自变量)
数值解
对多阶:
举个例子:
求解 y′=?2y+2x2+2x ,0 < x < 0.5 , y ( 0 ) = 1
%%
clc, clear
yx=@(x,y)-2*y+2*x^2+2*x; %yx指的是y对x的一阶导
[x,y]=ode45(yx,[0,0.5],1) %0~0.5是求解区间,1是y的初值
求解出来的y即x在 0~0.5区间所对应的函数值
要全部换成一阶导,才可求解
[T,Y]=ode15s(@f,[0 3000],[2 0]); %[2 0]表示初值
plot(T,Y(:,1),'b-')% Y中第一列是y1,第二列是y2function dy=f(t,y)
dy=zeros(2,1);%初始化
dy(1)=y(2);
dy(2)=1000*(1-y(1)^2)*y(2)-y(1);
end