加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MATLAB参数保存和调用

(2019-01-23 17:37:40)
分类: MATLAB
最近做优化仿真,需要将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:把变量保存到工作空间后,直接用常数模块改成变量名,,,,终于可以了

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有