Unable to execute sim command for simulation from C# .Net
1 view (last 30 days)
Show older comments
Hi, I want to pass model name from c# code to Matlab method which simulates that model and returns results. I have used MWCharArray to store model name and passed it to matlab method. I am getting exception as "Undefined function or method 'sim' for input arguments of type 'char'".
0 Comments
Answers (2)
Friedrich
on 13 Jul 2011
5 Comments
Kaustubha Govind
on 13 Jul 2011
Alternatively, if your .NET application is running on a computer that has MATLAB installed, you can start MATLAB as a COM server to run the SIM command: http://www.mathworks.com/help/techdoc/matlab_external/brd0v3w.html
Friedrich
on 14 Jul 2011
Hi,
I created an example and uploaded the C# project here
(is there any way to share files here?)
You have to modify the reference to your ML which you are using. Otherwise it won't run.
3 Comments
Friedrich
on 15 Jul 2011
Unfortunately there is no way around. When you like to use the ML automation server you need a MATLAB installed. The MCR won’t work here.
If your application should run on a PC without ML installed the only way is to use Simulink Coder (previously Real-Time Workshop) to generate code or an executable from your Simulink model which you can call from C#.
Using installed ML you can use the sim command.
On a PC without ML you have to “compile” your Simulink model first. Good point here is, no MCR is needed at all because you generate plain c or C++ code:
http://www.mathworks.com/products/simulink-coder/index.html
See Also
Categories
Find more on Manage Products in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!