MATLAB 求解矩阵参数单自治系统:数值解和解析解
下面是一个求解矩阵参数单自治系统的数值解和解析解的例子:
假设我们要求解以下的矩阵参数单自治系统:
dx/dt = A*x
其中,A是一个2x2的矩阵,x是一个2x1的向量。
首先,我们给出A的值和初值x0:
A = [1, 2; 3, 4] x0 = [1; 1]
接下来,我们可以使用matlab的ode45函数求解数值解:
tspan = [0, 10] % 求解的时间范围 [t, x] = ode45(@(t, x) A*x, tspan, x0)
最后,我们可以使用解析解来验证数值解的正确性。对于这个例子,解析解可以通过求解矩阵指数expm(A*t)乘以初值x0来得到:
x_analytical = expm(A*t') * x0
我们可以通过绘制数值解和解析解来进行比较:
plot(t, x(:, 1), 'b-', t, x(:, 2), 'r-', t, x_analytical(:, 1), 'bo', t, x_analytical(:, 2), 'ro') legend('Numerical solution x1', 'Numerical solution x2', 'Analytical solution x1', 'Analytical solution x2') xlabel('t') ylabel('x') title('Numerical and Analytical solutions of the matrix parameter autonomous system')
原文地址: https://www.cveoy.top/t/topic/pgHb 著作权归作者所有。请勿转载和采集!