如何强制Matlab/Simulink编码器使用Simulink中创建的参数
我有一个使用matlab功能块的simulink模型 当我试图从我的模型生成C代码时,我用来表示数据的结构参数作用域未被使用: 当我说未使用时,我的意思是, matlab编码器创建了一个头文件,其中定义了我的所有结构。 但在实际的算法中,当结构应该作为参数发送给函数时,matlab编码器只是为每个字段定义新的变量,这些字段的值是硬编码的 比如:函数(参数);在参数约束下,X=5和Y=8成为函数(5,8);生成后(因此函数定义为每个字段创建新变量) 你可以想象,一旦结构变得太大,它会变得多么混乱 我的一个朋友告诉我对象不能与matlab编码器一起工作。因此,除非我的朋友错了,否则用对象替换我的结构不是一个选项 有人知道我如何强迫matlab编码器实际使用我为他定义的结构吗? 或者也许还有另一个我没有想到的解决方案如何强制Matlab/Simulink编码器使用Simulink中创建的参数,matlab,object,structure,simulink,matlab-coder,Matlab,Object,Structure,Simulink,Matlab Coder,我有一个使用matlab功能块的simulink模型 当我试图从我的模型生成C代码时,我用来表示数据的结构参数作用域未被使用: 当我说未使用时,我的意思是, matlab编码器创建了一个头文件,其中定义了我的所有结构。 但在实际的算法中,当结构应该作为参数发送给函数时,matlab编码器只是为每个字段定义新的变量,这些字段的值是硬编码的 比如:函数(参数);在参数约束下,X=5和Y=8成为函数(5,8);生成后(因此函数定义为每个字段创建新变量) 你可以想象,一旦结构变得太大,它会变得多么混乱
谢谢 我找到了我自己问题的答案 在代码生成的配置文件中,在“优化”选项卡下,将“默认参数行为”从“内联”更改为“可调”
我希望这能帮助其他人:)我已经找到了我自己问题的答案 在代码生成的配置文件中,在“优化”选项卡下,将“默认参数行为”从“内联”更改为“可调” 我希望这能帮助其他人:)