Matlab Simulink(二)

本文继续介绍Simulink的常用模块,包括积分模块延迟模块非线性模块和延迟模块库,我主要是根据我的理解来整理的,由于没有学习现代控制理论等课程,有些地方我也不是很明白,所以还望大佬批评指正。


  • 积分模块Integrator 可以设置数值积分解法
    还可以设置内部和外部的初值
    可以设置积分上下限 相当于设置饱和模块
    积分模块的复位端口 所谓复位就是把积分器清零
  • 可设置的复位模块
    上升沿 外部的信号从0变正或者从负变正时触发复位条件
    下降沿 减小时触发
    双沿 变号触发
    水平复位 变为0时触发
    (讲的很含糊,有点没明白)
  • 状态输出端口and饱和输出端口
    功能:防止代数环 未达到饱和状态输出0 达到饱和状态输出1(上限状态),-1(下限状态)单位延迟模块输出上一时刻的采样变换常用在数字滤波器和离散时间传递函数(一脸懵)
  • 离散时间积分模块
    前向欧拉法的几何意义上一阶段的函数值加上初值斜率的一次方程?后项欧拉法斜率是两端点的平均值帮助文档里u输入 x状态值 y输出
  • 数据类型转换模块Data Type Conversion
    不同类型的数据进行混合计算的时候涉及到类型的转换浮点数二进制移位 不同类型移位方法不同 有点迷

连续模块库积分模块

  • 微分模块状态空间法建立系统的数学模型(具体见现代控制理论,反正我是之明白了个大概)
    x` = Ax + Buy = Cx + Duu :输入x:相应状态变量y:系统输出还需要手动计算ABCD的矩阵并输进去啊主要难点是计算。。。好消息是在matlab里有方法能提出abcd状态矩阵linmod函数 。
    该函数仅适用于连续系统中,离散系统请使用dlinmod使用linmod函数时,不能使用连续积分模块,可以使用Switched derivative模块代替连续积分模块传递函数 拉普拉斯变换求传递函数.
    状态空间法所得到的状态变量是不唯一的linmod函数在使用的时候要先建立相应的传递函数模块,然后直接linmod(‘模块文件名’)来拉取状态矩阵,状态矩阵不唯一’’'simout模块 将计算的数值输出到工作空间 在matlab命令窗口进行查看

  • 传递函数模块
    构造传递函数 g=tf([-1],[1 3 1]) 降幂系数

  • 传递函数伯德图
    首先构造传递函数,然后bode(g)//g为传递函数,直接出现伯德图
    伯德图的作用是进行频率域分析

  • 零极点增益模块 Zero-Pole
    也是用来表示传递函数的 不过能够容易的看出传递函数的极值点和零点和增益(我理解的增益就是一个系数,不知道是不是合理)

  • tf,zpk,ss函数的用法(三种函数的相互转换)
    tf就是传递函数,两个参数 分子分母
    zpk就是零点极点和增益 也是三参数 分别是零点、极点、增益
    ss状态空间法
    参数为四个状态矩阵
    在生成状态空间函数的时候,a,b,c,d是存储在ans变量中的,所以在转换的时候直接传入ans即可
    这些函数的详细用法和案例可以通过help 函数名的方式来查看

  • PID和二阶积分模块
    PID 比例微分积分控制
    来源百度百科
    比例积分微分控制,简称PID控制,是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,至今仍有90%左右的控制回路具有PID结构。
    简单的说,根据给定值和实际输出值构成控制偏差,将偏差按比例、积分和微分通过线性组合构成控制量,对被控对象进行控制。常规PID控制器作为一种线性控制器。
    抗饱和控制推荐文章:《控制系统Anti-Windup实际综述》
    二阶积分器相当于两个普通积分器进行串联

延迟模块(带电容的模拟电路会产生pi/2的电流延迟,于是我们的延迟模块就起到了作用)

传输延迟 可变时间延迟

非线性模块
*
动态饱和及死区模块

饱和模块前面 讲过内部设定好饱和上下限然后按规定输出
动态饱和模块就是多了两个上下限端口,可以动态设置

动态死区模块
存在上死区点和下死区点 当达到时减掉死区点的值

太难了 没学明白 有空再来看一遍吧

你可能感兴趣的:(Matlab,matlab,simulink)