matlab状态空间程序,将状态空间表示形式转换为传递函数

本文介绍了一个使用MATLAB将一维振荡系统的状态空间模型转换为传递函数的过程。通过模拟两个质点的振动,展示了如何计算状态矩阵、输入矩阵、输出矩阵,并利用ss2tf函数得到传递函数。最后,通过比较不同质点受正向单位脉冲刺激时的加速度响应,验证了状态空间模型和传递函数模型的一致性。
摘要由CSDN通过智能技术生成

理想的一维振荡系统由位于两面墙壁间的两个单位质点 m1 和 m2 组成。每个质点通过一根单位弹性常量弹簧连接到最近的墙壁。另外一根弹簧连接这两个质点。传感器以 Fs=16 Hz 的频率对 a1 和 a2(质点的加速度)采样。

613396eac9c95f4abb2b84652c667cf9.png

将总测量时间指定为 16 秒。定义采样间隔 Δt=1/Fs。

Fs = 16;

dt = 1/Fs;

N = 257;

t = dt*(0:N-1);

系统可以由状态空间模型描述

x(n+1)=Ax(n)+Bu(n),y(n)=Cx(n)+Du(n),

其中 x=(r1v1r2v2)T 是状态向量,ri 和 vi 分别是第 i 个质点的位置和速度。输入向量 u=(u1u2)T,输出向量 y=(a1a2)T。状态空间矩阵为

A=exp(AcΔt),B=Ac-1(A-I)Bc,C=(-201010-20),D=I,

连续时间状态空间矩阵为

Ac=(0100-2010000110-20),Bc=(00100001),

I 表示合适大小的单位矩阵。

Ac = [0 1 0 0;-2 0 1 0;0 0 0 1;1 0 -2 0];

A = expm(Ac*dt);

Bc = [0 0;1 0;0 0;0 1];

B = Ac\(A-eye(4))*Bc;

C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值