Matlab求解二阶常系数齐次线性微分方程示例
Matlab求解二阶常系数齐次线性微分方程示例
本文以一个具体例子演示如何使用Matlab求解二阶常系数齐次线性微分方程,包括特征方程法和内置函数ode45两种方法。
问题: 求解以下微分方程:
y' - 4y' + 4y = 0 y(0) = 4, y'(0) = 1
解法1:特征方程法
特征方程为 r^2 - 4r + 4 = 0,解得 r = 2(重根)。
因此通解为 y = (c1 + c2*t)exp(2t)。
代入初值条件 y(0) = 4,y'(0) = 1,得到 c1 = 4,c2 = -3。
最终解为 y = (4 - 3*t)exp(2t)。
解法2:Matlab内置函数ode45
定义函数:dydt = myode(t,y),其中 y(1) = y,y(2) = y'。
代码如下:
function dydt = myode(t,y)
dydt = [y(2); 4*y(2) - 4*y(1)];
end
调用ode45求解:
[t,y] = ode45(@myode, [0 1], [4 1]);
其中第一个参数为函数句柄,第二个参数为求解区间,第三个参数为初值。
最终解为 y = y(:,1)。
绘制图像:
plot(t,y)
xlabel('t')
ylabel('y')
通过以上两种方法,我们都可以得到该微分方程的解。ode45方法更加方便,适用于更复杂的微分方程求解。
原文地址: https://www.cveoy.top/t/topic/nSar 著作权归作者所有。请勿转载和采集!