Load Variable for Use in Simulink MATLAB Function Block
显示 更早的评论
I have been working on this for a while, but cannot get it to work. Basically, I have a MATLAB function block used in a Simulink model. In this block, I have something along the lines of
persistent a
if isempty(a)
load a % a is MAT file with 'a' defined in it
end
%use variable a
But that gave an error. So I tried this
persistent a
if isempty(a)
a = load('a.mat') %a is a structure now
end
%use a.a now
That gave the error: Attempt to extract field 'a' from 'mxArray'.
I'm not sure what to do.
回答(1 个)
Kaustubha Govind
2012-4-19
1 个投票
It looks like you are using 'a' like a parameter. Why not declare it as one, so that the value is automatically picked up from the workspace? See Parameter Arguments in MATLAB Function Block Functions. Just remember to not "write" to a. Treat it as read-only.
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!