用matlab求解二阶微分方程

想用matlab计算该微分方程的解析解或者数值解,求高人指点,万分感谢!

用matlab的dsolve函数计算该二阶微分方程的解析值是有一定的难度。只能用数值分析的方法来求解其数值解。当然求其数值解,必须还得已知a、θ的具体数值。该问题可以用matlab的ode45函数求得。求解方法如下:

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)的相平面图'); 

温馨提示:答案为网友推荐,仅供参考