MATLAB Simulink
文章平均质量分 94
MATLAB Simulink
Zevalin爱灰灰
如果能找到就好了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Matlab simulink建模与仿真 第一章(simulink入门)
(1)MATLAB是一种以矩阵为来处理数据的的计算软件,其应用范围十分广泛,该产品由若干模块组成,simulink是其中一个,它可利用图形化的工具来进行建模与仿真。原创 2024-08-18 11:51:58 · 75373 阅读 · 17 评论 -
Matlab simulink建模与仿真 第二章(常用模块库)【上】
(1)在计算机中,一般存在控制总线、数据总线等(如下图所示的Bus Creator),总线上的设备可以共享总线,而总线分配器则是负责管理和分配这些通过总线的信号,确保数据和控制的正确传输。(总线模块不建议经常使用,这里仅做简单介绍)(2)示波器模块会显示输入端口的信号图象,如正弦波。原创 2024-08-20 23:48:12 · 8556 阅读 · 2 评论 -
Matlab simulink建模与仿真 第二章(常用模块库)【下】
(1)开关模块可实现选择功能,它有3个输入端口和1个输出端口,输入端口从上到下(或从左到右)编号,第一个和第三个输入端口为数据端口,第二个输入端口为控制端口,当控制端口2满足所选标准时,输出端口与输入端口1导通,否则输出端口与输入端口3导通。②对双目运算,有上表所示的六种,对关系运算模块的两个输入,由上至下(或由左至右)第一个输入为操作数1,第二个输入为操作数2,操作数1在关系运算符的左边,操作数2在关系运算符的右边,若关系表达式成立则输出逻辑1,否则输出逻辑0。原创 2024-08-24 12:46:37 · 10456 阅读 · 1 评论 -
Matlab simulink建模与仿真 第三章(连续模块库)
注:积分模块在第二章中有介绍,本章不再赘述;二阶积分模块相当于两个积分模块串联(可以设置两个初始条件),本章也不会对二阶积分模块进行详细介绍;带上下限的积分模块和带上下限的二阶积分模块默认激活“Limit output”选项,本章也不会对它们进行详细介绍。原创 2024-08-24 23:54:48 · 8854 阅读 · 0 评论 -
Matlab simulink建模与仿真 第四章(非线性模块库)
所有的摩擦力可以划分为两大类——库仑摩擦和粘滞摩擦,前者与运动速度无关(当然,静止与非静止还是需要关注的),后者与运动速度成正比关系。原创 2024-08-25 12:56:41 · 5860 阅读 · 0 评论 -
Matlab simulink建模与仿真 第五章(离散模块库)【上】
(5)tf函数、zpk函数和ss函数,它们的参数还可以是一般形式、状态空间形式(含四个矩阵的结构体表示)或者零极点增益形式的离散传递函数,执行的功能是将离散传递函数转化为另一种表现形式,比如将含四个矩阵的结构体作为tf函数的参数,tf函数会根据这个结构体构造出一般形式的离散传递函数。(下图中的传递函数g与上图相同)(2)下例中的正弦信号发生器需要更改为基于采样的离散形式(默认是基于时间的连续形式),采样时间(Sample time)为0.1秒,信号每个周期的采样次数为50次。原创 2024-08-31 12:08:20 · 11263 阅读 · 2 评论 -
Matlab simulink建模与仿真 第五章(离散模块库)【下】
c2d函数返回离散时间系统的传输函数(或状态空间模型)。使用d2c函数可以将离散域的传递函数转换为连续域的传递函数,其中第一个参数为离散时间系统的传输函数,或前三个参数为状态空间模型的A、B矩阵及采样时间间隔,如果参数采用离散时间系统的传输函数(即不采用状态空间模型),下一个参数为用于指定变换方法的可选参数,如果参数采用状态空间模型,下一个参数为采样时间间隔;(3)对上述关系式做一定的调整,可得到如下传递函数,为简单起见,假设电阻的阻值为1Ω,电容的容值为1F,传递函数将得到简化。原创 2024-08-31 12:14:30 · 5622 阅读 · 0 评论 -
Matlab simulink建模与仿真 第六章(逻辑运算、位运算库)
(1)在参与位运算时,输入信号的值都会转换为二进制的表示形式,该模块的作用是将二进制表示形式输入信号的指定的某个位设置为1,其它位不变,然后转换回输入信号原本的形式,输出之。(1)在参与位运算时,输入信号的值都会转换为二进制的表示形式,该模块的作用是将二进制表示形式输入信号的指定的某个位设置为0,其它位不变,然后转换回输入信号原本的形式,输出之。(2)对于二进制数本身的移动,需要先将输入值转换为二进制形式,然后再进行数的移位,移位后产生的空位用0补上,而被移出的位则直接丢弃,其实际的数学意义是对数值进行。原创 2024-09-01 01:46:52 · 4767 阅读 · 0 评论 -
Matlab simulink建模与仿真 第七章(表查询库)
(2)以一维查表为例,预查询表模块f1输入的取值范围为[0,1),k1输入需要是一个整数,该模块会以k1的值作为下标(第一个元素的下标为0)找到因变量列表中相应的元素,f1的值可以理解为“下标偏差”(非专业名词),因变量列表相邻元素的下标相差为1,f1=0代表需要求解的因变量正好为k1值索引到的因变量,f1>0时该模块会根据插值算法求解出因变量。输入值在x集范围外的,直接以x集中距离输入值最近的自变量取值对应的因变量作为输出,简单地说,模块中的一维表在x集范围以外,因变量既不递增也不递减。原创 2024-09-01 22:58:49 · 5295 阅读 · 0 评论 -
Matlab simulink建模与仿真 第八章(数学运算库)【上】
(3)以Subtract模块为例,双击Subtract模块,属性“List of signs”表示输入端口的符号排列,比如下图的Subtract模块有两个输入端口,那么就有两个符号,其中每个符号各自代表其对应输入端口的量是作为加数还是减数,“+”对应加法,“-”对应减法,至于“|”符号,它起到一个占位的作用(可认为把它也当成一个输入端口,不过这个输入端口是被堵死的)。②如果其中有部分输入是标量,其它输入是向量或者矩阵(需要有相同的维度),那么这个标量将会自动进行拓展,与其它输入的向量或者矩阵进行匹配。原创 2024-09-07 10:22:04 · 7900 阅读 · 0 评论 -
Matlab simulink建模与仿真 第八章(数学运算库)【下】
(1)矩阵拼接模块的作用已在其名称中体现,该模块有向量模式(Vector)和多维数组模式(Multidimensional array)两种模式,在向量模式中,输入端口输入的数据只能是一维数据,输出的数据要么是单行要么是单列,而多维数组模式输出的数据不局限于单行/单列,而且可以指定输入矩阵的拼接方式,以二维矩阵为例,Concatenate dimension = 1时输入的矩阵在竖直方向上进行拼接,Concatenate dimension = 2时输入的矩阵在水平方向上进行拼接。原创 2024-09-07 10:44:03 · 4232 阅读 · 0 评论 -
Matlab simulink建模与仿真 第九章(模型校验库)
②如果勾选了“Enable assertion”,模块的校验功能将会被激活,在此基础上如果勾选了“Stop simulation when assertion fails”,仿真将会终止并输出错误信息,错误信息可在模块配置框中进行配置。②如果勾选了“Enable assertion”,模块的校验功能将会被激活,在此基础上如果勾选了“Stop simulation when assertion fails”,仿真将会终止并输出错误信息,错误信息可在模块配置框中进行配置。原创 2024-09-08 01:52:33 · 2251 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十章(模型扩展功能库)
(1)每次当模块受到触发时,都会调用linmod或者dlinmod函数,求出当前控制系统的线性状态空间模型(A、B、C、D四个矩阵以及其它的一些相关信息),相关信息会以结构体数组的形式存储在基本工作空间中(每触发一次,生成一个工作点,也就是求一次线性状态空间模型,这个工作点以结构体表示,若干个工作点便构成了结构体数组)。(1)在建立模型时,有时需要给模型添加一些属性,比如创建者、创建日期、修改者、修改日期、版本号等,这时可以在模型文件中添加模型信息模块,将需要添加的属性配置进该模块即可。原创 2024-09-08 01:52:59 · 1909 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十一章(端口及子系统库)【上】
子系统分为虚拟子系统和非虚拟子系统,前面提及的普通子系统属于虚拟子系统,而这里的微型子系统则是非虚拟子系统,它可以看作独立的系统,有独立参与运算的能力,而普通的子系统则不行,不过在实际应用中,二者的差别并不大,一般使用普通的子系统足矣。代码重用子系统也属于非虚拟子系统,其用法和微型子系统十分相似。该模块通常和用户自定义的库文件配合使用,可用来表示库文件中包含的各个功能相对独立模块所构成的集合。原创 2024-09-09 05:00:00 · 3553 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十一章(端口及子系统库)【下】
触发使能子系统其实是触发子系统和使能子系统二者的结合,当触发端口传来触发信号时,使能端口的输入需要大于1,触发使能子系统才能够工作。(1)相比于普通的子系统,for循环子系统中多出一个for循环迭代器(For Iterator)。(2)迭代器有一个迭代界限(Iteration limit),这个界限可以从外部输入,也可在模块内部配置,该界限决定一共执行几次循环(循环变量值超过迭代界限,循环结束);原创 2024-09-09 05:45:00 · 2545 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十二章(信号属性库)
(1)数据比例剥离模块的作用是将定点输入信号的缩放比例去掉,它将输入数据类型映射到有足够位数保存输入的最小内置数据类型(简单地说,如果输入的数据类型是浮点数,该模块将其转换为二进制表示形式,并将小数点去掉,得到所谓的“实际值”,这个“实际值”就是不考虑存储单元对应数据的数据类型,存储单元中的内容是什么,实际值就是什么),所存储的实际值就是该模块的输出值。如果该模块的采样时间不是“-1”(继承输入信号的采样时间),那么输入信号和输出信号的采样时间都要与该模块的采样时间相同。(可能会存在溢出和量化误差的情况)原创 2024-09-11 00:19:50 · 5359 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十三章(信号通路库)
(2)Tapped Delay模块仅用于将1个信号变成4个信号,然后拼成一维向量输出,在本例中其主要作用并不是延迟;(2)当编号输入端口输入的编号无法选择任一数据端口时(即编号输入端口输入的编号不在数据端口的编号集中),该模块需要选择一个默认数据端口连通至输出端口,具体有两种选择方式,第一种是默认选择最下面的一个数据端口(Last data port),第二种是另开一个默认数据端口(Additional data port),如果发生数据端口编号集中没有输入端口输入编号的情况,那么就将该端口连通至输出。原创 2024-09-15 01:23:18 · 4311 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十四章(信号输出库)
①若选择生成的形式为时间序列,输入信号的形式可以多种多样(可用于任何数据类型、复杂程度或维度),该模块将simulink中的仿真采用时间点序列作为一个列向量(成员名为Time),每个仿真采用时间点的输入信号作为也作为一个列向量(成员名为Data),二者组成一个结构体,该结构体存储在FIle name指定的MAT文件中,并将结构体赋给其中指定的变量(如果输入信号为标量或者向量,那么两个成员直接合并成矩阵,而不是存储为结构体)。(1)该模块在前面介绍其它模块时经常使用,它的作用是将输入端口的信号值显示出来。原创 2024-09-16 01:20:55 · 2731 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十五章(信号源库)
(1)白噪声具有常量功率谱,这意味着白噪声在所有频率上出现的强度相同,不随着频率的增加而衰减,白噪声的这一特性使其在功率谱上趋近为常值,即在整个频谱上都有成分,从低频到高频都有分布。(2)白噪声的理想状态是具有无限带宽,因此其能量是无限大的。然而,在实际应用中,白噪声通常是在一定频率范围内具有均匀功率谱密度的噪声。原创 2024-09-16 16:29:04 · 6224 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十六章(用户定义函数库)
注:MATLAB版本不同,可能有些模块也会有差异,但大体上区别是不大的。(1)S函数的全称为system-functions(系统函数),它主要用于扩展simulink环境(扩展simulink模块的用法)。(2)S函数可使用多种语言进行编写,如C语言、C++、Python、MATLAB、Fortran等,使用C语言、C++和Fortran这些编译型语言需要借助mex文件。原创 2024-09-17 01:02:17 · 4962 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十七章(补充离散库和补充数学库)
在离散系统中,状态空间可用如下表达式表达,m为状态变量的个数,k为输入信号的个数,r为输出信号的个数,x代表状态变量,u代表输入,y表示输出,A是个m×m的状态矩阵,B是个m×k的输入矩阵,C是个r×m的输出矩阵,D是个r×k的直接馈入矩阵。原创 2024-09-17 01:06:32 · 2023 阅读 · 0 评论 -
Matlab simulink建模与仿真 第十八章(Stateflow状态机)
Stateflow是集成于Simulink中的图形化设计与开发工具,主要用于针对控制系统中的复杂控制逻辑进行建模与仿真,或者说,Stateflow适用于针对事件响应系统进行建模与仿真。原创 2024-09-18 00:25:24 · 30562 阅读 · 7 评论 -
Matlab simulink建模与仿真 第十九章(生成C代码)
(1)MIL测试是模型在环测试(Model in the Loop),通过纯软件仿真的形式,主要验证模型功能的正确性,是否满足设计的功能需求,旨在尽早发现问题。(2)MIL测试通过指定输入和期望结果,将仿真结果与期望结果进行比对,根据判定标准验证模型是否正确。此外,还需要进行模型覆盖率度量,确保满足一定的覆盖率标准,如语句覆盖、分支覆盖等。这种测试方法在嵌入式系统开发的初期阶段及建模阶段中进行,是一种设计验证方法,不同于硬件在环测试(HIL),后者主要用于代码验证。原创 2024-09-22 00:58:48 · 5751 阅读 · 0 评论
分享