概述
最近做优化仿真,需要将m文件里的参数保存到工作空间以便simulink模型调用。
1、怎么把变量保存到工作空间(在一次仿真中参数不变,就是一个变量)
assignin('base','A','x(1)')%……不是必须是已知的具体数才可以用这个函数的
2、simulink模型怎么从工作空间调用定义好的参数(就是一个数,不与时间相关)
from workspace:开始出现问题,就是输入的参数需要有两列,第一列是时间参数,第二列是要输入的参数,后来改成[t,A],又出现了矩阵维度不同的问题;
signal from workspace:可以输入标量,但是出现了与模型中其他模块样本时间不同的问题,我给改成1,-1都不行
global定义全局变量,在m文件和simulink中的fcn中都定义了全局变量,但是还是出现了.Global declaration not resolved to a Data Store Memory block registered via the Ports and Data Manager.问题
evalin调用:在simulink模型中的MATLAB fcn用evalin函数调用工作空间中的变量:Function 'evalin' is not supported for code generation. Consider adding coder.extrinsic('evalin') at the top of the function to bypass code generation.代码生成不支持这个函数
save(‘A.mat’,‘t’,'A'):把变量保存到当前路径下,然后用from matfile调用,结果fcn不能识别输入的参数,本来就是个数,怎么可能识别的了一个矩阵了
constant:把变量保存到工作空间后,直接用常数模块改成变量名,,,,终于可以了
最后
以上就是英勇荷花为你收集整理的matlab中怎么贮存函数,MATLAB参数保存、调用的全部内容,希望文章能够帮你解决matlab中怎么贮存函数,MATLAB参数保存、调用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复