MATLAB控制系统工具包绘制根轨迹

MATLAB绘制单输入LTI系统的闭环根轨迹,需要安装Control System Toolbox™工具包,基于函数rlocus()实现。

函数rlocus()说明

输入

sys需要由前置Control System Toolbox™工具包内函数tf()生成。

sys=tf(N,D);

N为开环增益G(s)的分子多项式系数向量。
D为开环增益G(s)的分母多项式系数向量。

输出

[r,k] = rlocus(sys);
r = rlocus(sys,k);

返回选定增益的向量k和这些增益的复根位置r。
矩阵r有length(k)列,它的第j列为增益k(j)的闭环根。

绘制根轨迹渐近线函数asymptL()

function [s] =asymptL(sys)
%根轨迹渐近线绘制,返回渐近线与实轴交点s
num=sys.num{1};
den=sys.den{1};
z=roots(num); 
p=roots(den); 
m=length(z);
n=length(p);
if(n>m)
    s=((sum(p)-sum(z))/(n-m));
    sd=s*ones(1,n-m);
    sysa=zpk([],sd,1);
    hold on
    [r,~]=rlocus(sysa);
    for i=1:n-m
        plot(r(i,:),'k:');
    end
else
    disp('无渐近线');
    s=[];
end

求根轨迹虚轴交点的频率和增益imwk()

function [K,Wcg] = imwk(sys)
%求根轨迹虚轴交点的频率和增益
sysa=allmargin(sys);
K = sysa.GainMargin;
Wcg = sysa.GMFrequency;
end

实例一

某系统的开环传递函数为
G ( s ) = K ( s + 0.8 ) s ( s − 1 ) ( s 2 + 4 s + 16 ) G(s)=\frac{K(s+0.8)}{s(s-1)(s^{2} +4s+16)} G(s)=s(s1)(s2+4s+16)K(s+0.8)

clc;clear;
N=[1,.8];
D=conv(conv([1 0],[1 -1]),[1 4 16]);
sys=tf(N,D);
rlocus(sys);
hold on
s=asymptL(sys);
[K,Wcg] = imwk(sys);

在这里插入图片描述

实例二

某系统的开环传递函数为
G ( s ) = K ( s + 2 ) s ( s + 1 ) ( s + 3 ) G(s)=\frac{K(s+2)}{s(s+1)(s+3)} G(s)=s(s+1)(s+3)K(s+2)

clc;clear;
N=[1,2];
D=conv(conv([1 0],[1 1]),[1 3]);
sys=tf(N,D);
rlocus(sys);
hold on
s=asymptL(sys);
[K,Wcg] = imwk(sys);

在这里插入图片描述

本书基于MATLAB 6.5正式版(Release 13),为读者提供了使用MATLAB的实践性指导。本书主要介绍了MATLAB中与控制工程相关的6个基础工具箱:系统辨识工具箱、控制系统工具箱、鲁棒控制工具箱、模型预测控制工具箱、模糊逻辑工具箱和非线性控制设计模块,同时提供了MATLAB中的一些基础知识。在讲解6个工具箱的过程中,本书还讲解了一些工程应用方面的背景知识,并对每个函数的功能、语法和参数做了详细的说明,对许多重要的函数都给出了具体的示例程序。 本书可以作为高等院校控制工程专业本科生、研究生教材使用,也可作为广大科研工程技术人员的参考用书。 第1章 MATLAB基础 1.1 MATLAB的历史 1.1.1 MATLAB的产生 1.1.2 MATLAB的发展 1.2 MATLAB系统构成 1.2.1 MATLAB的系统构成 1.2.2 MATLAB工具箱及应用介绍 1.3 开始使用MATLAB 1.3.1 MATLAB的启动 1.3.2 样例 1.3.3 MATLAB初步知识 第2章 MATLAB系统辨识工具箱 2.1 系统辨识的原理及辨识模型的简介 2.1.1 基本原理 2.1.2 常用的模型类 2.2 系统辨识工具箱函数 2.2.1 模型建立和转换的函数介绍 2.2.2 非参数模型类的辨识函数介绍 2.2.3 参数模型类的辨识函数介绍 2.2.4 递推参数模型辨识函数介绍 2.2.5 模型验证与仿真函数介绍 2.2.6 其他常用函数介绍 2.3 系统辨识工具箱图形界面 2.3.1 数据视图 2.3.2 操作选择 2.3.3 模型视图 第3章 控制系统工具箱 3.1 LTI系统模型及转换 3.1.1 LTI模型 3.1.2 LTI对象及其属性 3.1.3 LTI模型函数 3.1.4 模型检测函数 3.2 状态空间的实现 3.2.1 状态空间的实现 3.2.2 状态空间的实现的函数 3.3 系统时域响应 3.3.1 系统时域响应 3.3.2 系统时域延迟 3.4 系统频率响应 3.5 极点配置 3.6 模型的综合处理 3.6.1 模型的转换 3.6.2 模型的连接 3.6.3 模型降阶 3.7 LQG设计 3.8 GUI函数介绍 第4章 鲁棒控制工具箱 4.1 鲁棒控制理论及鲁棒控制工具箱简介 4.1.1 鲁棒控制理论概述 4.1.2 鲁棒控制工具箱基本数据结构 4.2 系统模型建立与转换工具 4.2.1 模型建立工具 4.2.2 模型转换工具 4.3 鲁棒控制工具箱功能函数 4.3.1 Riccati方程求解 4.3.2 Riccati方程条件数 4.3.3 矩阵的Schur形式 4.4 多变量波特图 4.4.1 频率响应的特征增益/相位波特图 4.4.2 连续和离散系统的奇异值波特图 4.4.3 结构奇异值波特图 4.5 矩阵因子化技巧 4.6 模型降阶方法 4.6.1 Schur相对误差模型降阶方法 4.6.2 均衡模型降阶 4.6.3 最优Hartkel最小逼近降阶 4.7 鲁棒控制箱综合方法 4.7.1 离散和连续情形的H2综合 4.7.2 离散和连续情形的H∞综合 4.7.3 H∞综合的丁迭代方法 4.7.4 H2和H∞范数 4.7.5 LQC优化控制综合 4.7.6 LQG回路传输恢复 4.7.7 综合 4.7.8 youla参数化 4.8 示例 第5章 模型预测控制工具箱 5.1 系统模型辨识函数 5.1.1 数据向量或矩阵的归一化 5.1.2 基于线性回归方法的脉冲响应模型辨识 5.1.3 脉冲响应模型转换为阶跃响应模型 5.1.4 模型的校验 5.2 系统矩阵信息及绘图函数 5.3 模型转换函数 5.4 模型建立和连接函数 5.5 控制器设计与仿真 5.5.1 基于MPC阶跃响应的控制器设计与仿真 5.5.2 基于MPC状态空间模型的控制器设计与仿真 5.6 系统分析函数 5.7 模型预测控制工具箱功能函数 第6章 模糊逻辑工具箱 6.1 模糊逻辑理论简介 6.1.1 模糊集合 6.1.2 模糊关系 6.1.3 模糊推理 6.2 MATLAB模糊逻辑工具箱 6.2.1 模糊隶属度函数 6.2.2 模糊推理系统数据管理函数 6.3 逻辑工具箱的图形用户界面 6.4 模糊推理系统的高级应用 6.5 模糊逻辑工具箱接口及示例函数 第7章 非线性控制设计模块 7.1 NCD模块的使用 7,1.1 建立闭环系统方框图 7.1.2 设置约束条件 7.1.3 开始优化计算 7.2 NCD模块应用实例
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页