Simulink环境基础知识(十八)--确定信号维度

Simulink环境基础知识(⼗⼋)--确定信号维度
⽬录
确定信号维度
Simulink® 模块可以输出⼀维、⼆维或多维信号。Simulink ⽤户界⾯和⽂档中通常将⼀维信号称为向量,将⼆维或多维信号称为矩阵。包含⼀个元素的数组通常称为标量。⾏向量是指包含⼀⾏的⼆维数组。列向量是指包含⼀列的⼆维数组。
k2summit⼀维 (1-D) 信号包含⼀系列按照每个仿真时间步⼀个数组(向量)的频率输出的⼀维数组。
⼆维 (2-D) 信号包含⼀系列按照每个模块采样时间⼀个⼆维数组(矩阵)的频率输出的⼆维数组。
多维信号包含⼀系列按照每个模块采样时间⼀个数组的频率输出的多维(⼆维或更多维)数组。可以使⽤任何有效的 MATLAB® 多维表达式(例如 [4 3])指定多维数组。
Simulink 模块可以接受或输出的信号维度因模块⽽异。有些模块可以接受或输出任意维度的信号。有些只能接受或输出标量或向量信号。
注意:Simulink 在仿真过程中不⽀持动态信号维度。也就是说,信号的维度在执⾏仿真时必须保持不变。但是,可以在仿真过程中更改信号的⼤⼩。参考可变⼤⼩信号基础知识。
如果⼀个模块可以发出⾮标量信号,假如是源模块,则其输出信号的维度取决于模块参数;否则,输出信号的维度取决于模块输⼊信号的维度和模块参数。要确定信号最终⽤于仿真的维度,请⾸先更新模块图(例如,按 Ctrl+D)。然后,选择以下⽅法之⼀:
在模块图上直接显⽰维度。使⽤此⽅法沿着模块的路径跟踪信号维度。在模型中,在 Debug 选项卡上,选择 Information
Overlays > Signal Dimensions。
检查 Model Data Editor 中的维度,它将信息显⽰在⼀个可搜索、可排序的表中。在该表中,Dimensions 列中每个单元格的右侧显⽰模型中相应信号线的真实维度。
⽀持多维信号的 Simulink 模块
Simulink Block Data Type Support 表中有⼀列标识了哪些模块⽀持多维信号。
1. 在 MATLAB 命令⾏中,输⼊ showblockdatatypetable。
此时将打开⼀个单独的窗⼝,显⽰ Simulink Block Data Type Support 表。
2. 在 Block 列中,到 Simulink 模块的名称。右侧的列是该模块的数据类型或功能。如果⼀列中包含 X 标记,即说明⽀持该功能。        Simulink ⽀持最多具有 32 个维度的信号。不要使⽤超过 32 个维度的信号。
确定源模块的输出维度
源模块是指没有输⼊信号的模块。源模块的⽰例包括Constant模块和Sine Wave模块。有关 Simulink 源模块的完整列表,参考Sources。如果源模块 Interpret vector parameters as 1-D 参数处于禁⽤状态(即未在模块参数对话框中选中),则输出维度与其输出值参数的维度相同。如果 Interpret vector parameters as 1-D 参数处于启⽤状态,则输出维度等于输出值参数维度,除⾮参数维度为Nx1 或 1xN。如果是后⼀种情况,模块将输出宽度为 N 的向量信号。
这⾥我们以Constant模块为例,了解源模块的输出值参数和Interpret vector parameters as 1-D 参数如何决定其输出维度。此模块输出等于其 Constant value 参数的常量信号。下表说明 Constant value 参数的维度和 Interpret vector parameters as 1-D 参数的设置如何决定模块输出维度。
Constant Value Interpret vector parameters as 1-D输出
标量off⼀元素数组
标量on⼀元素数组
1×N 矩阵off1×N 矩阵
Constant Value Interpret vector parameters as 1-D输出
1×N 矩阵on N 元素向量
N×1 矩阵off N×1 矩阵
博盈投资
N×1 矩阵on N 元素向量
M×N 矩阵off M×N 矩阵
M×N 矩阵on M×N 矩阵
Simulink 源模块允许您指定输出信号的维度,或指定 Simulink 可从中推断出维度的值。因此,可以使⽤源模块在您的模型中引⼊各种维度的信号。
确定⾮源模块的输出维度
如果⼀个模块有输⼊,则其输出维度在标量扩展之后与输⼊维度相同。(所有输⼊必须具有相同的维度,如信号和参数维度规则中所述)。
信号和参数维度规则
创建 Simulink 模型时,必须遵循有关信号和参数维度的以下规则。
输⼊信号维度规则
⼀个模块的所有⾮标量输⼊必须具有相同的维度。⼀个模块可以具有混合的标量和⾮标量输⼊,但所有⾮标量输⼊必须具有相同的维度。Simulink 会对标量输⼊进⾏扩展,使其具有与⾮标量输⼊相同的维度。
模块参数维度规则
⼀般⽽⾔,模块参数必须与模块输⼊具有相同的维度。Simulink 会执⾏⼀些处理,在⼀般规则的基础上增添⼀些灵活性。
模块可以具有与⾮标量输⼊对应的标量参数。在这种情况下,Simulink 会对标量参数进⾏扩展,使其与对应的输⼊具有相同的维度。
如果输⼊是向量,对应的参数可以是 N×1 或 1×N 矩阵。在这种情况下,Simulink 会将 N 个矩阵元素应⽤于输⼊向量的对应元素。
这⼀例外允许使⽤ MATLAB ⾏或列向量(实际上分别是 1×N 或 N×1 矩阵)指定应⽤于向量输⼊的参数。
向量或矩阵输⼊转换规则
在以下情况下,Simulink 会将向量转换为⾏或列矩阵,或者将⾏或列矩阵转换为向量:
如果⼀个向量信号连接的输⼊端⼝需要矩阵,Simulink 则将该向量转换为单⾏或单列矩阵。
如果⼀个单列或单⾏矩阵连接的输⼊端⼝需要向量,Simulink 则将矩阵转换为向量。
如果⼀个模块的输⼊信号混合了向量和矩阵,⽽且矩阵输⼊全都为单列或单⾏矩阵,Simulink 则将向量分别转换为单列或单⾏矩阵。
注意:可以配置 Simulink,使其在仿真过程中发⽣向量或矩阵转换时显⽰警告或错误消息。
输⼊信号和参数的标量扩展
标量扩展是指将标量值转换为⾮标量数组。许多 Simulink 模块⽀持对输⼊信号和参数进⾏标量扩展。模块特定的说明会指明Simulink 是否会对该模块的输⼊信号和参数进⾏标量扩展。
输⼊信号的标量扩展是指对标量输⼊进⾏扩展,使其与其他⾮标量输⼊或⾮标量参数的维度相匹配。如果模块输⼊混合了标量和⾮标量信号,Simulink 会将标量输⼊扩展为与其他⾮标量输⼊具有相同维度的⾮标量信号。例如,如果关联的⾮标量信号的维度为 3,标量 4会扩展为向量 [4 4 4]。
参数的标量扩展是指对标量模块参数进⾏扩展,使其与⾮标量输⼊的维度相匹配。
输⼊关联的模块参数标量扩展
标量⾮标量扩展输⼊以匹配参数维度。
可以参考标量输⼊和⾮标量参数。
⾮标量标量扩展标量参数,以匹配输⼊中的元素数。可以参考标量输⼊和⾮标量参数。
混合标量和⾮标量⽆对应参数扩展标量输⼊,以匹配最⼤⾮标量输⼊的维度。可以参考标量输⼊和⾮标量参数。
标量输⼊和⾮标量参数
在此⽰例中,从 Constant模块到Gain模块的输⼊为标量。Gain模块的Gain参数为⾮标量。Simulink对标量输⼊进⾏扩展,使其与⾮标量Gain参数的维度相匹配,这⼀点反映在Display模块的仿真结果中。
⾮标量输⼊和标量参数
在此⽰例中,从 Constant 模块到 Gain 模块的输⼊为⾮标量。Gain模块的Gain参数为标量。Simulink 对标量参数进⾏扩展,使其与来⾃ Constant 模块的⾮标量输⼊的维度相匹配,这⼀点反映在 Display 模块的仿真结果中。
标量和⾮标量输⼊,⽆关联参数
在此⽰例中,从Constant1模块到Sum模块的输⼊为⾮标量,来⾃Constant2模块的输⼊为标量。Sum模块没有关联的参数。Simulink将来⾃Constant2模块的标量输⼊进⾏扩展,以匹配来⾃Constant1模块的⾮标量输⼊的维度。输⼊扩展为向量 [3 3 3]。
获取编译的端⼝维度
要获取端⼝信号的维度,请使⽤ Step Forward 按钮暂停仿真。选择⼀个模块并使⽤PortHandles参数。然后使⽤GetCompiledPortDimensions参数。例如,如果在此模型中向前步进并选择Constant模块:
ph = get_param(gcb,'PortHandles');
dim = get_param(ph.Outport,'CompiledPortDimensions')
dim =
2    2    3
对于⾮总线端⼝,结果为⼀个数组,数组中的第⼀个元素是维数(在本例中为 2),接下来的两个元素(对应于维数)是维度的值。对于总线信号,结果包括⼀些额外的元素。假设在具有总线的模型中向前步进,并选择包含嵌套总线的 Bus Creator 模块:达尔富尔问题>成长的步伐
ph = get_param(gcb,'PortHandles');
dim = get_param(ph.Outport,'CompiledPortDimensions')孔子和学生
dim = -2 4 1 2 1 1 3 4 5 6 5 2 3 4 5 6
第⼀个元素是 -2,它表⽰信号是总线。第⼆个元素是叶节点的数量。随后的元素遵循与⾮总线信号相大连商检局
同的模式。在此⽰例中,第三个元素表⽰总线中第⼀个信号的维数(在本例中为 1),下⼀个数字是该维度的值 (2)。

本文发布于:2024-09-23 13:23:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/65499.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   信号   维度   标量   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议