Matlab Compiler & Control Systems Toolbox: Problems compiling associations of transfer functions.
2 次查看(过去 30 天)
显示 更早的评论
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.
1 个评论
Craig
2012-5-4
What version/release of MATLAB are you using? You can determine this by typing "ver" and the command line.
回答(1 个)
Kaustubha Govind
2012-5-4
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!