我是靠谱客的博主 坚定人生,最近开发中收集的这篇文章主要介绍【[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)来生成控制系统的函数。
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,然后就可以直接按数学表达式的形式建立系统的传递函数模型。
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()函数来建立零极点增益模型。
k=10;
z=[-5];
p=[-0.5 -2 -3];
sys=zpk(z,p,k)
没有零点的话z=[];
2.二阶控制系统
[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|自动控制的仿真基础(顺带回顾一点点matlab知识)]】前言一、自控实验常用的两种Matlab程序处理方式二、编写代码文件三、控制系统模型间的相互转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复