IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Day21--系统模型转换及连接 -> 正文阅读

[数据结构与算法]Day21--系统模型转换及连接

MATLAB是一个很强大的软件,在自动控制领域也是使用非常广泛,本系列博文将基于控制系统仿真进行,参考书籍《MATLAB/Simulink与控制系统仿真》,该系列博文与笔者的自动控制理论(考研篇)互为补充,详细理论知识点请各位移步自动控制理论(考研篇)系列博客。



21.系统模型转换及连接

21.1 模型转换

线性时不变系统(LTI)模型包括:传递函数(Transfer Function)模型,零极点增益(ZPK)模型,状态空间(State Space)模型;
1

函数名功能函数名功能
ss2tf状态空间模型转换为传递函数模型tf2ss传递函数模型转换为状态空间模型
ss2zp状态空间模型转换为零极点模型zp2ss零极点模型转换为状态空间模型
tf2zp传递函数模型转换为零极点模型zp2tf零极点模型转换为传递函数模型

21.2 实战

实战:已知某系统零极点模型为:
G ( s ) = 6 ( s + 2 ) ( s + 1 ) ( s + 3 ) ( s + 5 ) G(s)=\frac{6(s+2)}{(s+1)(s+3)(s+5)} G(s)=(s+1)(s+3)(s+5)6(s+2)?
求其传递函数模型和状态空间模型;

解:

% model_transfer.m文件

z = [-2];p = [-1,-3,-5];k = 6;      % 系统零极点向量及增益
[num,den] = zp2tf(z,p,k);           % 零极点模型转换成传递函数模型
[A,B,C,D] = zp2ss(z,p,k);           % 零极点模型转换成状态空间模型
g_zpk = zpk(z,p,k)                  % 建立零极点模型
g_tf = tf(num,den)                  % 建立传递函数模型
g_ss = ss(A,B,C,D)                  % 建立状态空间模型

% 结果:
g_zpk = 
       6 (s+2)
  -----------------
  (s+1) (s+3) (s+5)
g_tf =
         6 s + 12
  -----------------------
  s^3 + 9 s^2 + 23 s + 15
g_ss =
  A = 
           x1      x2      x3
   x1      -1       0       0
   x2       1      -8  -3.873
   x3       0   3.873       0
  B = 
       u1
   x1   1
   x2   1
   x3   0
  C = 
          x1     x2     x3
   y1      0      0  1.549 
  D = 
       u1
   y1   0

21.3 模型连接

基本连接方式:串联、并联、反馈、闭环。

21.3.1 串联

2

  1. G 1 ( s ) 、 G 2 ( s ) G_1(s)、G_2(s) G1?(s)G2?(s)串联连接合成的系统的传递函数为 G ( s ) = G 1 ( s ) ? G 2 ( s ) G(s)=G_1(s)·G_2(s) G(s)=G1?(s)?G2?(s)
  2. [num,den] = series(num1,den1,num2,den2);
  3. 其中:num1、den1为系统 G 1 ( s ) G_1(s) G1?(s)的传递函数的分子和分母多项式;num2、den2为系统 G 2 ( s ) G_2(s) G2?(s)的传递函数的分子和分母多项式;num、den为串联后的系统 G ( s ) G(s) G(s)的传递函数的分子和分母多项式;

21.3.2 并联

3

  1. G 1 ( s ) 、 G 2 ( s ) G_1(s)、G_2(s) G1?(s)G2?(s)并联合成的系统的传递函数为: G ( s ) = G 1 ( s ) + G 2 ( s ) G(s)=G_1(s)+G_2(s) G(s)=G1?(s)+G2?(s)
  2. [num,den] = parallel(num1,den1,num2,den2);
  3. 其中:num1、den1为系统 G 1 ( s ) G_1(s) G1?(s)的传递函数的分子和分母多项式;num2、den2为系统 G 2 ( s ) G_2(s) G2?(s)的传递函数的分子和分母多项式;num、den为串联后的系统 G ( s ) G(s) G(s)的传递函数的分子和分母多项式;

21.3.3 反馈连接

4

  1. 正反馈连接的传递传递函数为:
    G H ( s ) = G ( s ) H ( s ) 1 ? G ( s ) H ( s ) GH(s)=\frac{G(s)H(s)}{1-G(s)H(s)} GH(s)=1?G(s)H(s)G(s)H(s)?
  2. 负反馈连接的传递函数为:
    G H ( s ) = G ( s ) H ( s ) 1 + G ( s ) H ( s ) GH(s)=\frac{G(s)H(s)}{1+G(s)H(s)} GH(s)=1+G(s)H(s)G(s)H(s)?
  3. [num,den]=feedback(num1,den1,num2,den2,sign);
  4. num1、den1为系统G(s)的传递函数分子和分母多项式;num2、den2为系统H(s)的传递函数的分子和分母多项式;sign表示负反馈还是正反馈,默认为sign=-1;num、den为反馈连接后的系统的传递函数的分子和分母多项式;

21.4 模型连接实战

实战1:控制系统如下,求系统的串联和并联时的传递函数。
5
代码实现:

% series_and_parallel.m文件

% 系统1的分子分母向量
num1 = 6*[1,2];
den1 = conv([1,1],conv([1,3],[1,5]));

% 系统2的分子分母向量
num2 = [1,2.5];
den2 = conv([1,1],[1,4]);

% 构建串联和并联的分子分母向量
[nums,dens] = series(num1,den1,num2,den2);
[nump,denp] = parallel(num1,den1,num2,den2);

% 生成串联和并联的传递函数
s_tf = tf(nums,dens);
p_tf = tf(nump,denp);

s_tf,p_tf


% 结果:
s_tf =
               6 s^2 + 27 s + 30
  --------------------------------------------
  s^5 + 14 s^4 + 72 s^3 + 166 s^2 + 167 s + 60

p_tf =
   s^4 + 17.5 s^3 + 87.5 s^2 + 156.5 s + 85.5
  --------------------------------------------
  s^5 + 14 s^4 + 72 s^3 + 166 s^2 + 167 s + 60

实战2:系统如下图所示,求下图的闭环传递函数和反馈传递函数;
6
代码实现:

% feedback_cloop.m文件

% 系统1
num1 = [1,-1];
den1 = [1,-5,-2];

% 系统2
num2 = [1,1];
den2 = [1,3,2];

% 闭环连接系统和反馈连接系统
[numc,denc] = cloop(num1,den1);
[numf,denf] = feedback(num1,den1,num2,den2);

% 闭环连接传递函数和反馈连接传递函数
c_tf = tf(numc,denc);
f_tf = tf(numf,denf);

c_tf,f_tf

% 结果:
c_tf = 
      s - 1
  -------------
  s^2 - 4 s - 3
 
f_tf =
        s^3 + 2 s^2 - s - 2
  -------------------------------
  s^4 - 2 s^3 - 14 s^2 - 16 s - 5
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:11:59  更:2022-01-01 14:14:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:31:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码