自动控制常用MATLAB函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

这学期刚学的自动控制,老师布置了挺多matlab的画图作业,把之前常用的基础函数整理下方便复习(其实是懒得记笔记)。


提示:以下是本篇文章正文内容,下面案例可供参考

一、注意事项

  1. 由于是专门对付作业的,所以有些解释为了方便理解会比较狭隘,基本只说用到的功能。
  2. Gb为闭环传递函数,Gk是开环传递函数。
  3. Rs/rt为输入函数,Cs/st为输出函数,在复域和时域上。
  4. s是复域变量。
  5. t是时域变量。
  6. kosi 阻尼比,w无阻尼振荡频率

二、具体函数

1.ezplot函数(不用定义自变量画图)

ezplot(ct,[0 3*pi])

作用: 绘制某个区间的图像
类似plot,但不用定义自变量,问题是拉普莱斯变换后会把你的s变量自动转化成t,就里就可以用ezplot画图,但一般要考虑自变量范围

%示例:
 syms s; 
 syms t;
 rt=2*sin(3*t+30);
 Gs=4/(s^2+6*s+4);
 Rs=laplace(rt)%求取拉式变换
 Cs=Rs*Gs
 ct=ilaplace(Cs)%求取拉式[逆]变换
 ezplot(ct,[0 3*pi])%自变量范围0到3*pi
 hold on;%和下一个曲线放在同一个坐标中
 ezplot(rt,[0 3*pi])%绘制某个区间的图像可定范围

2.tf函数(表示传递函数)

y=tf(num,den)
num表示分子各阶系数,den表示分母各阶系数

作用:可以用来表示传递函数

%示例:
%        s^2+2*kosi*w*s+0
% y= -----------------------------
%       s^2+2*kosi*w*s+w^2

   y=tf([1 2*kosi*w 0] ,[1 2*kosi*w w^2])
 % y=tf(num,den)
 % num=[1 2*kosi*w 0],den=[1 2*kosi*w w^2]
 


3.laplace函数和ilaplace函数(拉氏逆变换)

Rs=laplace(rt)
b为时域函数,a为拉氏变换后的复域函数

作用:laplace求拉氏变换 ilaplace求拉氏逆变换(会自动t–>s)

 syms s; 
 syms t;
 rt=2*sin(3*t+30);
 Gs=4/(s^2+6*s+4);
 Rs=laplace(rt)%求取拉式变换
 Cs=Rs*Gs
 ct=ilaplace(Cs)%求取拉式[逆]变换
 ezplot(ct,[0 3*pi])
 hold on;
 ezplot(rt,[0 3*pi])%绘制某个区间的图像可定范围

4.lsim函数(求输出)

lsim(sys,u,t)
sys传递函数,u 输入函数,t时域自变量

作用:已知输入函数和传递函数,用这个可以的到每次系统的输入对应的输出(输入函数u要是时域中的,,可以输出图像也可以是对应的值)

%代码如下(示例):
clear
clc   
%  Gb=(s+10)/(s^3+15*s^2+s+10)  %
syms s;
sys = tf([1 10],[1 15 1 10]);
t=0:0.01:50;  %定一下范围
u=t;
lsim(sys,u,t)%输出图像
%C=lsim(sys,u,t)%输出每个t对应的值

5.impulse函数(求脉冲响应)

impulse(num,den)
num表示分子各阶系数,den表示分母各阶系数

作用:已知闭环传递函数,求其脉冲响应
impulse(num,den)会输出图像;ct2=impulse(num,den)输出数值。

clear
clc   
%利用解析法绘制%
syms s; 
Rs=1;
Gb=15/(s^2+8*s+15);
Cs=Rs* Gb;
ct1=ilaplace(Cs)%求取拉式[逆]变换
figure (1)
ezplot(ct1,[0 3])
%利用impulse绘制%
num=[0 0 15];%分子系数
den=[1 8 15];%分母系数
figure (2)
impulse(num,den)%输出图像
ct2=impulse(num,den)%输出每个t对应的值

6.step函数(求阶跃响应)

step(num,den)
num表示分子各阶系数,den表示分母各阶系数

作用:已知闭环传递函数,求其阶跃响应
step(num,den)会输出图像;ct2=step(num,den)输出数值。

clear
clc   
num=[1 2 3];分子系数
den=[4 5 6] ;分母系数
step(num,den)%输出图像

7.subplot函数(多个坐标图像显示)

subplot(a, b, n)

作用:a和b指定将图形窗口分成a*b个绘图区,n为这个图像所在的位置
(注意要写在如ezplot这种函数前面)

三、总结

后面再有问题或者新的作业的话会更新。
另外matlab画图真好用。

  • 11
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值