Filter löschen
Filter löschen

How to protect an Embedded Matlab Function in Simulink?

2 Ansichten (letzte 30 Tage)
Dani Tormo
Dani Tormo am 4 Jun. 2013
Hi,
I have a subsystem which has a Matlab function. This subsystem has a parameter which specifies the size of an input vector signal.
It was working fine but I need to protect the code inside the m-function. I tried to instantiate the m-function to do it but now it comes this error:
Dimension 1 is fixed on the left-hand side but varies on the right ([1 x 6] ~= [:? x :?]).
I tried to use a reshape block inside the instantiated block and also in the main model without luck. I also specified the size of the input and output ports but nothing.
Anybody knows how to solve this or another way to protect the Matlab function code?
Thanks!
  1 Kommentar
Kaustubha Govind
Kaustubha Govind am 4 Jun. 2013
By protected MATLAB code, I assume you mean a pcoded-file, correct? Is the error coming from the line where the .p file is called? Do you happen to know which line the error occurs at? If so, please paste the code at the line and what the variable(s) used on the right-hand-side of that line contains.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dani Tormo
Dani Tormo am 4 Jun. 2013
Bearbeitet: Dani Tormo am 4 Jun. 2013
Finally!
Kaustubha gave me a clue to get it working.
The thing how I did it is:
1- In Simulink copy the code from the embedded Matlab function in a .m file (i.e. Program.m) and add at the beggining of the code this line:
coder.allowpcode('plain');
2- Generate the pcode file with Matlab:
>> pcode('Program')
3- Back to Simulink, remove the code in the embedded Matlab function and add this line to call the protected pcode file:
[output variables] = Program (input variables);
And that's all. Thanks Kaustubha!
Cheers!

Weitere Antworten (0)

Kategorien

Mehr zu Programmatic Model Editing finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by