Loading Structure from base workspace to embedded matlab
이전 댓글 표시
Does anyone know how to load a structure from base workspace to embedded matlab ?
The structure itself is a combination of constants and sub-structures containing more constants and all I really want is all this information to be made available in the embedded matlab function scope.
Cheers !
댓글 수: 2
Kaustubha Govind
2011년 8월 3일
Have you tried making it a parameter of the Embedded MATLAB block?
Robbo
2011년 8월 3일
답변 (2개)
Arnaud Miege
2011년 8월 3일
You need to define the scope of the structure as a parameter, not an input (which is the default). Here's a simple example. In the base workspace, I have defined:
s = struct;
s.a = 1;
s.b = 2;
and then I have a MATLAB Function block (previously called Embedded MATLAB Function):
function y = fcn(u,s)
%#codegen
y = s.a * u + s.b;
and s is defined as a parameter in the Model Explorer and it works fine. See Working with Structures and Bus Signals in the documentation.
HTH,
Arnaud
댓글 수: 6
Arnaud Miege
2011년 8월 3일
PS: Support for non-tunable MATLAB structure parameters in Embedded MATLAB Function blocks was introduced in R2008a and support for tunable MATLAB structure parameters in R2010a. See the release notes for more details:
http://www.mathworks.com/help/toolbox/simulink/rn/brh2esz-1.html#brj84ed-1
http://www.mathworks.com/help/toolbox/simulink/rn/bsawhtd.html#bsawlji
Robbo
2011년 8월 3일
Robbo
2011년 8월 3일
Arnaud Miege
2011년 8월 3일
Have a look at the restrictions when using structures:
http://www.mathworks.com/help/toolbox/eml/ug/bsvdbhz.html
It may be that your structure violates some of those restrictions.
Robbo
2011년 8월 3일
Gilles
2013년 3월 5일
It works like a charm !
Fangjun Jiang
2011년 8월 3일
1 개 추천
From the documentation, "The Embedded MATLAB Function block accepts inputs of any type that Simulink supports, including fixed-point and enumerated types. For more information, see Data Types Supported by Simulink in the Simulink documentation."
Looking further, structure data is not supported by Simulink. I guess you have to flatten your structure data then.
카테고리
도움말 센터 및 File Exchange에서 Simulink Coder에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!