概述
本文描述Vector信号的建模并研究生成的代码。本文中的示例模型和代码文件下载地址为。
文章目录
- 1 Simulink中的Vector信号
- 2 Vector信号的代码
- 3 总结
1 Simulink中的Vector信号
Vector信号即向量信号,指的是信号里包含的不是一个变量,而是一组变量。例如Constant模块里面写的是一个向量,其输出的信号就是Vector信号。
或者,通过Mux模块,将多个Scalar信号(就是最常见的只代表一个变量的信号)合并成一个Vector信号。
Vector信号线和Scalar信号线看起来是一样的,都是一条细直线。可以通过选择Simulink菜单栏——Display——Signal & Ports——Signal Dimensions,在模型中显示出信号线的维度,从而看出是Vector信号。
2 Vector信号的代码
Vector信号对应的C代码的概念就是数组。通过上面两个简单的模型可以生成如下代码。
代码中的step函数反映了Mux模块把输入端In1和In2的数值分别赋给了数组Out2的第0个和第一个元素。因为Out2的维度是默认的,没有设置,所以继承了Vector信号的维度。
接下来看一下initialize函数。
initialize函数函数中首先把输入输出都初始化为0,然后再分别给Out1的四个元素赋值1,2,3,4。这也对应了模型中把常数数组输出给Out1。至于这个动作为什么反映在initialize函数中而不是step函数中,博主猜测由于是常量赋值,所以被软件优化成这样的。
3 总结
Vector信号很简单,它的背后就是C语言中的数组。在以后分析Simulink生成的代码时,看到了数组可以考虑它可能对应着一处Vector信号。
另外,Matrix信号作为矩阵的信号,和Vector信号相似,可以举一反三。
>>返回个人博客总目录
最后
以上就是爱笑爆米花为你收集整理的Simulink代码生成: Vector信号及其代码1 Simulink中的Vector信号2 Vector信号的代码3 总结的全部内容,希望文章能够帮你解决Simulink代码生成: Vector信号及其代码1 Simulink中的Vector信号2 Vector信号的代码3 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复