博客
关于我
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/

你可能感兴趣的文章
Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
查看>>
Objective-C实现n body simulationn体模拟算法(附完整源码)
查看>>
Objective-C实现naive string search字符串搜索算法(附完整源码)
查看>>
Objective-C实现natural sort自然排序算法(附完整源码)
查看>>
Objective-C实现nested brackets嵌套括号算法(附完整源码)
查看>>
Objective-C实现nevilles method多项式插值算法(附完整源码)
查看>>
Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
查看>>
Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
查看>>
Objective-C实现newton_forward_interpolation牛顿前插算法(附完整源码)
查看>>
Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
查看>>
Objective-C实现ngram语言模型算法(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
查看>>
Objective-C实现not gate非门算法(附完整源码)
查看>>
Objective-C实现NQueen皇后问题算法(附完整源码)
查看>>
Objective-C实现number of digits解字符数算法(附完整源码)
查看>>