Matlab simulink建模与仿真 第八章(数学运算库)【下】

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili

六、圆整函数及最值函数模块

1、Rounding Function圆整函数模块

圆整函数模块的功能是将小数转换为整数,它提供了四种取整方式:

①floor:向下取整,输出距离输入小数在负无穷方向上最近的整数。

②ceil:向上取整,输出距离输入小数在正无穷方向上最近的整数。

③round:四舍五入,输出距离输入小数在无穷方向上最近的整数,输入为负数则选择负无穷方向,输入为正数则选择正无穷方向。

④fix:输出距离输入小数在朝零方向上最近的整数。

2、MinMax最值函数模块

(1)使用该模块前需要选择使用最大值函数还是最小值函数,其功能也显而易见,如果选择最大值函数,该模块会从若干输入值中选择最大的数值并将其输出,如果选择最小值函数,该模块会从若干输入值中选择最小的数值并将其输出。

(2)该模块可以配置输入端口数。

①只有一个输入端口时,该模块的输入一般是向量(最多是一维矩阵,否则会报错)或者是在同一根信号线上的若干个信号,模块会根据选择的函数从其中提取一个最值并输出之。

②当有多个输入端口时,各输入需要有相同的维度和尺寸,模块会根据选择的函数输出一个与输入有相同维度和长度的数据。

3、MinMax Running Resettable最值运行中复位模块

(1)使用该模块前需要选择使用最大值函数还是最小值函数。

(2)该模块有输入端口u和输入端口R,当R为逻辑真时,该模块的输出复位至初始条件Initial condition,否则输出为u从最后一次复位(启动仿真也算一次复位)到当前时刻为止的最大/小值。

七、三角函数及代数约束模块

1、Trigonometric Function三角函数模块

        同数学函数模块一样,三角函数模块也提供了若干种函数(其中atan2有两个参数,这里不对其进行详细介绍),该模块会根据输入参数和所选函数计算输出值。

2、Sine Wave Function正弦波函数模块

(1)正弦波可认为是一个输出随时间变化的函数图像,该模块有一个输入端口,这个端口用于输入时钟信号(这里的“时钟信号”并不是脉冲信号,在第十五章中将会进行介绍),这个时钟信号用来作为正弦波的“计时器”。

(2)正弦波的形式有两种:

①基于时间(Time based):正弦波根据随时间进行连续的变化,不过当发生数值运算导致运行时间较长的情况时,可能会有误差。

②基于采样(Sample based):每个采样时刻正弦波会进行一次离散的变化,可以设置正弦波在每个周期中的采样点个数(Samples per period),这是在间接设置正弦波的周期大小。

(3)可对正弦波的参数进行设置,如幅值(Amplitude)、偏移(Bias)等。

3、Algebraic Constraint代数约束模块

(1)代数约束模块的输入是一个包含z的多项式,该模块根据约束条件Constraint(f(z)=0或f(z)=z)会求解出未知数z并将其输出,这也意味着输入中会包含输出,所以该模块通常会处在一个闭环中。

(2)举例:求解方程

八、分配模块和变形模块

1、Assignment分配模块

(1)分配模块的功能是对输入矩阵中某些指定位置的元素进行替换,Y0端口输入的是原始矩阵,U端口输入的是替换元素。

(2)输出数据的维度需要手动配置。

(3)选择输出数据的维度以后,需要配置被替换元素在原始矩阵中的位置,其索引方式有基于0(Zero-based)和基于1(One-based)两种,也就是第一个元素的下标为0或1,如下图所示,下图的索引方式为基于1,被替换元素在矩阵中的位置为第一行第二列。

(4)分配模块不仅可以只替换原始矩阵的一个元素,还可以同时替换原始矩阵中的多个元素,具体有以下几种办法:

①默认的下标选项为下标向量(Index vector),在此选择方式下,可以用向量的方式选中多个位置,向量的元素为用于索引的下标。

②下标选项可以更改为“Assign all”,这样就可以直接选中整个维度上的元素。

③下标选项可以更改为“Starting index”,这样,同一个维度中从配置的下标开始往后的元素将全部被选中(这里被选中不代表一定会被替换),输入U需要是一个各维度上元素数均不大于被选中子矩阵的矩阵,分配模块会从被选中子矩阵的第一行第一列开始,将输入U的矩阵替换进原始矩阵中。

(5)用于索引元素的下标,不仅可以通过双击模块进行配置,还可以从外部输入,只要将下标选项更改为端口模式即可。

2、Reshape变形模块

(1)变形模块的作用是将输入的矩阵进行维度上的变换,可以认为是将其中的元素按列的顺序全部排成一维向量,然后根据配置的输出维度和输出尺寸进行重新排列,输出维度可选择自定义方式(Customize),此种方式包含前三种方式,在Output dimensions中写明输出尺寸即可。

(2)除了在模块中配置输出尺寸外,还可以让外部输入Ref决定输出尺寸,输出维度选择“Derive from reference input port”,变形模块会直接参照Ref的尺寸对输入U进行处理,至于Ref的内容,变形模块并不关心。

九、拼接模块

1、Matrix Concatenate矩阵拼接模块

(1)矩阵拼接模块的作用已在其名称中体现,该模块有向量模式(Vector)和多维数组模式(Multidimensional array)两种模式,在向量模式中,输入端口输入的数据只能是一维数据,输出的数据要么是单行要么是单列,而多维数组模式输出的数据不局限于单行/单列,而且可以指定输入矩阵的拼接方式,以二维矩阵为例,Concatenate dimension = 1时输入的矩阵在竖直方向上进行拼接,Concatenate dimension = 2时输入的矩阵在水平方向上进行拼接。

(2)多维数组模式下,两个矩阵能拼接的前提是尺寸匹配,比如一个两行三列和一个三行三列的矩阵,它们是不能在水平方向进行拼接的。

2、Vector Concatenate向量拼接模块

(1)向量拼接模块的作用已在其名称中体现,该模块有向量模式(Vector)和多维数组模式(Multidimensional array)两种模式,在向量模式中,输入端口输入的数据只能是一维数据,输出的数据要么是单行要么是单列,而多维数组模式输出的数据不局限于单行/单列,而且可以指定输入矩阵的拼接方式,以二维矩阵为例,Concatenate dimension = 1时输入的矩阵在竖直方向上进行拼接,Concatenate dimension = 2时输入的矩阵在水平方向上进行拼接。

(2)向量模式下,列向量只能与列向量合并,行向量只能与行向量合并,列向量与行向量在没有转置的前提下不能够相互合并。

十、复数相关模块

1、Complex to Magnitude-Angle标准复数转换幅值-相角模块

        该模块输入是一个复数,它会将该复数的幅值和相角(弧度制)分别进行输出。(可以选择仅输出幅值或者相角)

2、Magnitude-Angle to Complex幅值-相角转换标准复数模块

        该模块的作用与Complex to Magnitude-Angle模块正好相反,它会根据输入的幅值和相角(弧度制)得出标准形式的复数并输出之。(可以选择幅值从外部输入,相角在模块中配置,也可以选择相角从外部输入,幅值在模块中配置)

3、Complex to Real-Imag标准复数转换实部-虚部模块

        该模块输入是一个复数,它会将该复数的实部和虚部分别进行输出。(可以选择仅输实部或者虚部)

4、Real-Imag to Complex实部-虚部转换标准复数模块

        该模块的作用与Complex to Real-Imag模块正好相反,它会根据输入的实部和虚部得出标准形式的复数并输出之。(可以选择实部从外部输入,虚部在模块中配置,也可以选择虚部从外部输入,实部在模块中配置)

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值