MATLAB中前馈+反馈系统搭建-基于matlab控制系统工具箱

MATLAB搭建开环及反馈控制的控制系统比较常见,本文主要介绍如何在MATLAB中搭建前馈+反馈的控制系统框架,与在Simulink中进行构建前馈+反馈系统区别开来。


主要使用matlab控制系统工具箱中的sumblk和connect两个函数,实现不同传递函数的系统互联。
MATLAB中前馈+反馈系统搭建-基于matlab控制系统工具箱_第1张图片
sumblk

Summing junction for name-based interconnections

sumblk可以实现记录信号的线性叠加,类似于Simulink中的ADD模块。使用中需要指明信号的名称。

connect

Block diagram interconnections of dynamic systems

connect可以完成各个传递函数的连接内容,使用起来比较灵活,注意需要提前指定各个sys的输入输出名称,并对应起来。

%构建前馈+反馈
C1 = tf([1],[1]);
C2 = tf([1],[1]);
G = tf([1],[1,1]);
B1 = sumblk ('e','r','y','+-');
B2 = sumblk ('u','u1','u2 ','++');
C1.InputName='r';C1.OutputName='u2';C2.InputName='e';C2.OutputName='u1';G.InputName='u';G.OutputName='y';
T=connect(C1,C2,B1,B2,G,'r','y');

1.这里所使用的sumblk(output, input, input,…, input,Signs)与作者使用的MATLAB(2017b)有所区分。

2.使用控制系统构建传递函数,会创建一个结构体,里面包含有关于信号的InputName,OutputName,即表示输入输出信号的名称,要注意协调名称配对关系。

参考文献:

  1. 陈凤祥.自动控制原理教学之Matlab控制系统工具箱函数使用[J].教育教学论坛,2017(03):204-206.
  2. MALTAB帮助和文档 https://ww2.mathworks.cn/help/matlab/learn_matlab/help.html

你可能感兴趣的:(MATLAB中前馈+反馈系统搭建-基于matlab控制系统工具箱)