Matlab Compiler & Control Systems Toolbox: Problems compiling associations of transfer functions.

2 visualizzazioni (ultimi 30 giorni)
Hi, I'm writing some code using the control systems toolbox and I want to compile it into a standalone version.
I have problems doing the inverse of an lti system. I want to do the following operation: A^{-1}*B. With A and B lti objects.
I tried several ways of performing it. All of them work when runned in Matlab, but all of them give error when the compiled version is runned.
The possible ways I tried are: 1.- inv(A)*B Result: Undefined function 'triperm' for input atguments of type 'char' 2.- A\B Result: Undefined function 'matscale' for input atguments of type 'char' 3.- Use the feedback function as follows: (feedback(eye(size(A,1)),A-eye(size(A,1))) )*B
3.- Operation using the ltf command from the control systems toolbox.
4.- Operation using the append and connect commands.
As I said, none of them works after compiling, and I couldn't find anything in the Matlab docummentation saying that the compilation of this functions is not supported.
Even more strange, the compiled version works for Linux but not for Windows.
Anybody knows why I get this problem?, do you know how to solve it or a workaround?
Thanks in advance for your help.

Risposte (1)

Kaustubha Govind
Kaustubha Govind il 4 Mag 2012
Are you using the same version of MATLAB on Windows and Linux? Perhaps support for LTI objects with MATLAB Compiler was added in a newer release, which you are using on Linux? Alternately, there could have been a bug on the version being used on Windows that does not work well with LTI objects. You could try using this solution by manually specifying the path to $matlabroot\toolbox\control to MCC, which is where I assume the LTI object related functions exist.

Community Treasure Hunt

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

Start Hunting!

Translated by