什么是自治系统和非自治系统
自治系统
自治系统的特征是其状态方程不依赖于时间。举个简单的例子,考虑一阶常微分方程:
d x d t = − x \frac{dx}{dt} = -x dtdx=−x
这是一个经典的指数衰减过程,其中状态 (x) 随时间 (t) 衰减。这个系统是自治的,因为它的演化仅仅依赖于当前的状态 (x),而不受时间的影响。
MATLAB代码示例
% 定义自治系统
function dxdt = autonomous_system(t, x)
dxdt = -x; % 系统的状态方程,dx/dt = -x
end
% 初始条件
x0 = 1; % 初始状态 x(0) = 1
% 时间范围
tspan = [0, 10]; % 从 t = 0 到 t = 10
% 求解微分方程
[t, x] = ode45(@autonomous_system, tspan, x0);
% 绘图
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('State x(t)');
title('Autonomous System: dx/dt = -x');
grid on;
非自治系统
非自治系统的特征是其状态方程显式地依赖于时间。一个典型的例子是:
d x d t = − x + sin ( t ) \frac{dx}{dt} = -x + \sin(t) dtdx=−x+sin(t)
在这个例子中,状态的变化不仅依赖于当前的状态 (x),还显式地依赖于时间 (t),通过 (\sin(t)) 项来表示。
MATLAB代码示例
% 定义非自治系统
function dxdt = non_autonomous_system(t, x)
dxdt = -x + sin(t); % 系统的状态方程,dx/dt = -x + sin(t)
end
% 初始条件
x0 = 1; % 初始状态 x(0) = 1
% 时间范围
tspan = [0, 10]; % 从 t = 0 到 t = 10
% 求解微分方程
[t, x] = ode45(@non_autonomous_system, tspan, x0);
% 绘图
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('State x(t)');
title('Non-Autonomous System: dx/dt = -x + sin(t)');
grid on;
总结
- 自治系统:状态方程仅依赖于状态变量,不依赖时间。其数学形式为:
d x d t = − x \frac{dx}{dt} = -x dtdx=−x
- 非自治系统:状态方程显式依赖于时间。其数学形式为:
d x d t = − x + sin ( t ) \frac{dx}{dt} = -x + \sin(t) dtdx=−x+sin(t)
通过这些代码和公式,可以直观地理解自治系统和非自治系统的区别。