概述
我需要访问Matlab工作区中类型的变量值
Simulink.parameter
:
CAL_vars = dsdd('find','/path/CAL','ObjectKind','Variable','Property',{'name' 'Class' 'value' 'CAL'})
%gets ids of variables in data dictionary
i = 10
for i=1:length(CAL_vars)
var_name = dsdd('GetAttribute',CAL_vars(i),'name');
% gets names of variables in data dict
var_eval = eval(var_name); % this works in standalone script and it does exactly
% what I need, but once i put it in the function I need this for, it returns error
if (length(var_eval.Value) ==1)
if (var_eval.Value == true)
var_eval.Value = 1;
elseif (var_eval.Value == false)
var_eval.Value = 0;
else
end
end
% do something with the Value
if (errorCode ~= 0)
fprintf('nSomething is wrong at %sn', var_name)
end
end
当我试图调用eval(name_of_var)时,由于结构是由simulink生成的并给出了错误,所以出现了这个问题:“simulink.parameter”类型的输入参数的未定义函数“eval”。
奇怪的是,它似乎在独立脚本中正常工作,但一旦我将其插入较大的函数中,它就会停止工作并开始显示错误消息
Error using eval
Undefined function or variable 'name_of_var'.
功能显然在工作区中。
最后
以上就是无奈萝莉为你收集整理的matlab工作区函数使用,如何从Matlab函数中的工作区获取simulink结构的值?的全部内容,希望文章能够帮你解决matlab工作区函数使用,如何从Matlab函数中的工作区获取simulink结构的值?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复