matlab 二阶微分方程 求解
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
1、建立微分方程的自定义函数,odefun(容x,y)
2、当a=10、θ=π/6时,执行下列代码
theta=pi/6;
[x,y]= ode45(@odefun,[0,0.18],[0.5,theta])
plot(x,y),grid on
legend('y (x)','y’(x)')
xlabel('x'),ylabel('y (x),y’(x)')
figure(2)
plot(y(:,1),y(:,2)),grid on
xlabel('y (x)'),ylabel('y’(x)')
title('y (x)—y’(x)的相平面图');
扩展资料:
升阶法:
设y''+p(x)y'+q(x)y=f(x),当f(x)为多项式时,设f(x)=a0x^n+a1x^(n-1)+…+a(n-1)x+an,此时,方程两边同时对x求导n次,得
y'''+p(x)y''+q(x)y'=a0x^n+a1x^(n-1)+…+a(n-1)x+an……
y^(n+1)+py^(n)+qy^(n-1)=a0n!x+a1(n-1)!
y^(n+2)+py^(n+1)+qy^(n)=a0n!
令y^n=a0n!/q(q≠0),此时,y^(n+2)=y^(n+1)=0。由y^(n+1)与y^n通过倒数第二个方程可得y^(n-1),依次升阶,一直推到方程y''+p(x)y'+q(x)y=f(x),可得到方程的一个特解y(x)。