为什么在Simulink中定义全局变量会报错,出现如下情况:

因为在Simulink中的MATLAB Function中,全局变量未映射到MATLAB全局工作区(global workspace)。
因此需要使用MATLAB Function模块登记全局变量,以将数据映射到Data Store Memory(数据存储器)
Matlab官方对此有解决方案:(Share Data Globally)
步骤是:
1.在你的 MATLAB Function中定义一个全局变量。
2.在 Data Store Memory 和Simulink.Signal 中登记上你的全局变量(一定要和上一步定义的全局变量同名)。
具体步骤如下:
一、.在MATLAB Function的Data Store Memory中的设置:
1.




二、Simulink中设置:

如果要定义为矩阵,可以将dimensions处设置成[m,n].(m ,n是你的矩阵行、列数)

这样就可以啦!
本文介绍如何解决Simulink中MATLABFunction模块使用全局变量时遇到的问题。需通过在MATLABFunction中定义全局变量,并将其映射到DataStoreMemory来实现数据共享。文章详细解释了设置步骤。
1306





