博客
关于我
Matlab中lsim函数的使用
阅读量:355 次
发布时间:2019-03-04

本文共 1631 字,大约阅读时间需要 5 分钟。

lsim函数详解


目录

  • 语法(常用)

    • 分子分母形式
    • 传递函数形式
    • 状态空间形式
    • 其他形式
  • 说明

    • 响应图
    • 响应数据
  • 示例

    • 示例1
    • 示例2
    • 示例3
    • 示例4
    • 示例5

语法(常用)

1. 分子分母形式

lsim函数支持通过分子分母形式定义传递函数,语法如下:

lsim(num, den, u, t)
  • num:传递函数的分子多项式。
  • den:传递函数的分母多项式。
  • u:输入信号,行数与时间样本长度相等。
  • t:模拟时间点。

2. 传递函数形式

对于已定义的传递函数 sys,可以直接调用 lsim:

lsim(sys, u, t)
  • sys:传递函数对象。
  • u:输入信号。
  • t:模拟时间点。

3. 状态空间形式

对于状态空间模型,语法为:

lsim(A, B, C, D, u, t, x0)
  • A:状态矩阵。
  • B:输入矩阵。
  • C:输出矩阵。
  • D:直接传输矩阵。
  • u:输入信号。
  • t:模拟时间点。
  • x0:初始状态向量。

4. 其他形式

支持多种参数形式,例如:

lsim(sys, u, t, x0)lsim(sys, u, t, x0, method)y = lsim(sys, u, t)y = lsim(sys, u, t, x0)
  • method:插值方法,适用于连续时间模型。
  • y:模拟结果。

说明

响应图

lsim(sys, u, t) 用于绘制动态系统对输入信号的模拟响应。时间向量 t 指定仿真样本点。对于单输入系统,输入信号 u 与时间向量长度相同;对于多输入系统,u 的行数与时间样本长度相同,列数与输入维度相同。

响应数据

y = lsim(sys, u, t) 返回与输入同时采样系统的响应 t。对于单输出系统,y 与时间向量 t 长度相同;对于多输出系统,y 是行向量,行数与时间样本相同,列数与输出维度相同。


示例

示例1

传递函数表示:

H = [tf([2 5 1],[1 2 3]); tf([1 -1],[1 1 5])][u, t] = gensig('square', 4, 10, 0.1);lsim(H, u, t);

如图所示,系统对方波输入的响应表现明显。


示例2

连续时间系统:

sys = tf(3, [1 2 3]);t = 0:0.04:8;u = max(0, min(t - 1, 1));lsim(sys, u, t);

模拟响应数据为:

y = lsim(sys, u, t);size(y)  # 1×201

示例3

离散时间系统:

sys = tf([0.06 0.05], [1 -1.56 0.67], 0.05);t = 0:0.05:4;u = max(0, min(t - 1, 1));lsim(sys, u, t);

模拟响应如图所示。


示例4

闭环系统对比:

H = tf(4, [1 10 25]);C1 = pidtune(H, 'PI');C2 = pidtune(H, 'PID');sys1 = feedback(H * C1, 1);sys2 = feedback(H * C2, 1);[u, t] = gensig('square', 4, 12);lsim(sys1, sys2, u, t);

默认情况下,lsim绘制的每个系统选择不同的颜色。可以通过 LineSpec 输入参数指定颜色和线条样式。


示例5

状态空间模型初始状态:

A = [-1.5 -3; 3 -1];B = [1.3; 0];C = [1.15 2.3];D = 0;sys = ss(A, B, C, D);x0 = [-0.2 0.3];t = 0:0.05:8;u = zeros(length(t), 1);u(t > 2) = 1;lsim(sys, u, t, x0);

如图所示,系统从初始状态 x0 = [-0.2 0.3] 自由演化,在 t = 2 时输入阶跃信号,响应如图所示。

转载地址:http://kucr.baihongyu.com/

你可能感兴趣的文章
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
查看>>
osgearth介绍
查看>>
OSGi与Maven、Eclipse PlugIn的区别
查看>>
Osgi环境配置
查看>>
OSG——选取和拖拽
查看>>
OSG中找到特定节点的方法(转)
查看>>
OSG学习:C#调用非托管C++方法——C++/CLI
查看>>
OSG学习:OSG中的智能指针
查看>>
OSG学习:OSG组成(一)——组成模块
查看>>
OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
查看>>
OSG学习:OSG组成(二)——场景树
查看>>
OSG学习:OSG组成(二)——渲染状态和纹理映射
查看>>
OSG学习:WIN10系统下OSG+VS2017编译及运行
查看>>
OSG学习:人机交互——普通键盘事件:着火的飞机
查看>>
OSG学习:几何体的操作(一)——交互事件、简化几何体
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(一)——四边形
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:几何对象的绘制(二)——简易房屋
查看>>