MATLAB怎样用simulink求解解二阶微分方程d2x/dt2-u*(1-x^2)*dx/dt+x=0,初始条件,u=2,x(0)=1,x'(0)=0 20
clear;clc
[t,x]=ode45(@(t,x)[x(2);(1-x(1)^2)*x(2)-x(1)],[0 10],[1 0]);
plot(t,x(:,1))
例:把你要积分的函数编写出来
function dy = rigid(t,y)
dy = zeros(3,1); % a column vector
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
进行积分
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);%设置步长
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);
扩展资料:
在有些情况下,可以通过适当的变量代换,把二阶微分方程化成一阶微分方程来求解。具有这种性质的微分方程称为可降阶的微分方程,相应的求解方法称为降阶法。
(线性非齐次微分方程通解的结构定理)如果y0是非齐次微分方程(1)的一个特解,而y*是对应的齐次微分方程(2)的通解,则y=y0+y*是方程(1)的通解。
对于比较简单的情形,可以用观察法找特解。但对于比较复杂的情形就不太容易了。为此,下面对于f(x)的几种常见形式,以表2列出找其特解的方法(待定系数法)(表2中Pm(x)=a0+a1x+a2x2+...+amxm为已知的多项式)。
参考资料来源:百度百科-二阶微分方程