我是靠谱客的博主 坚定人生,这篇文章主要介绍【[matlab+自控02|自动控制的仿真基础(顺带回顾一点点matlab知识)]】前言一、自控实验常用的两种Matlab程序处理方式二、编写代码文件三、控制系统模型间的相互转换,现在分享给大家,希望可以做个参考。

整理一些自控仿真的基础语句,方便日后实际使用的时候查看回顾。也可以对刚刚想上手matlab控制仿真的童鞋有一点点帮助。

文章目录

  • 前言
  • 一、自控实验常用的两种Matlab程序处理方式
    • >创建程序代码(后缀名.m)
    • >搭建Simulink模块
  • 二、编写代码文件
    • 1.控制系统模型的建立
    • 2.二阶控制系统
  • 三、控制系统模型间的相互转换
    • >零极点转传递函数
    • >传递函数转零极点
    • >传递函数转部分分数展开式
    • >部分分数展开式转传递函数


前言

为了便于观看,分两章编写。本章侧重于代码的编写,工具箱的使用可以看前一篇。


一、自控实验常用的两种Matlab程序处理方式

>创建程序代码(后缀名.m)

类似其他高级语言,创建程序代码、保存、调试、运行

方式:打开Matlab----主页----新建脚本
在这里插入图片描述


>搭建Simulink模块

相较程序代码更加简单,直观,体现控制框图。

方式:打开Matlab----主页----Simulink----Blank Model----Library Browser


二、编写代码文件

1.控制系统模型的建立

经典控制系统常用的数学模型:传递函数模型,零极点增益模型

  • 传递函数模型 tf对象,也称多项式模型

在这里插入图片描述

  • 在MYATLAB中用分子分母多项式系数按s的降幂次序构成两个向量,用函数tf(num,den)来生成控制系统的函数。
复制代码
1
2
3
4
5
6
num=[b1 b2 b3]; %分子 den=[a1 a2 a3] ; %分母 sys=tf(num,den); %或者直接sys=tf([b1,b2,b3],[a1,a2,a3]); printsys(num,den); %输出控制系统的函数

注意系数为0也要写,n阶就有n+1个系数
在这里插入图片描述

  • 用s=tf(‘s’)命令来定义传递函数的拉普拉斯变换的变量s,然后就可以直接按数学表达式的形式建立系统的传递函数模型。
复制代码
1
2
3
s=tf('s'); Gs=(5*(s+2)^*(s^2+6*s+7))/(s*(s+1)^3*(s^3+2*s+1))

在这里插入图片描述

  • 零极点增益模型zpk对象

在这里插入图片描述

在MATLAB中,用向量z,p,k构成向量组,用zpk()函数来建立零极点增益模型。

复制代码
1
2
3
4
5
k=10; z=[-5]; p=[-0.5 -2 -3]; sys=zpk(z,p,k)

在这里插入图片描述

没有零点的话z=[];


2.二阶控制系统

在这里插入图片描述
在这里插入图片描述

复制代码
1
2
3
[num den]=ord2(1,0.5); G=tf(num,den)

在这里插入图片描述

三、控制系统模型间的相互转换

>零极点转传递函数

[num,den]=zp2tf(z,p,k)

>传递函数转零极点

[z,p,k]=tf2zp(num,den)

>传递函数转部分分数展开式

[r,p,k]=residue(num,den)

>部分分数展开式转传递函数

[num,den]=residue(r,p,k)


最后

以上就是坚定人生最近收集整理的关于【[matlab+自控02|自动控制的仿真基础(顺带回顾一点点matlab知识)]】前言一、自控实验常用的两种Matlab程序处理方式二、编写代码文件三、控制系统模型间的相互转换的全部内容,更多相关【[matlab+自控02|自动控制内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部