【微分方程解析解】%常微分方程用这个
一维:
y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','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=simple(x) % 将x化简
y=simple(y)
z=simple(z)
【微分方程数值解】%不是常微分方程用这个
%首先必须变为一阶微分方程
建立M文件:
function dy=vdp(t,y)
dy=zeros(n,1); %有n个因变量
dy(1)=y(2); %根据表达式改变
dy(2)=1000*(1-y(1)^2)*y(2)-y(1); %根据表达式改变
主程序:
[t,y]=ode15s('vdp',[0 3000],[2 0]);
%或者变成其它算法ode15s ode45
%[0 3000]自变量的范围t的变化范围
%[2 0]因变量的初始值y(1)=2 y(2)=0 ……
plot(t,y(:,1),'-')或者plot(y(:,1),y(:,2),'.') %其中y(:,1)表示y(1);y(:,2)表示y(2);……
%plot(t,y(:,1),'-')表示画出t随y(1)变化的曲线
%plot(y(:,1),y(:,2),'.')表示画出y(1)随y(2)变化的曲线
【积分法求曲线弧长】
求y=f(t)在[a,b]上的弧长:
l=int('sqrt(1+[f’(t)])',a,b)
%[f’(t)]需要更改
表示y=f(t)在[a,b]上的弧长:
l=int('sqrt(1+Dy)',a,b)
【求积分】
int(P) 对表达式P进行不定积分.
int(P,v) 以v为积分变量对P进行不定积分.
int(P,v,a,b) 以v为积分变量,以a为下限,b为上限对P进行定积分.
int('x*log(1+x)',0,1) 得
ans = 1/4