Integrating Matlab Coder with c#
46 views (last 30 days)
Show older comments
Hi,
I want to integrate Matlab Coder output with a C# project in Visual Studio. My main idea is:
- 创建一个*.m script in Matlab
- Make sure the script is compatible with Matlab Coder.
- Generate a C++ shared library (DLL) with Matlab Coder
- Integrate with C# using something like this:
//Starts themodel execution. May take several minutes
publicstatic class DllHelper
{
[DllImport(@"test.dll",CallingConvention=CallingConvention.Cdecl,EntryPoint ="Run()")]
public static extern int Run();
}
- Also, I would like to be able to stop the execution and retrieve some partial results. To do this, I was thinking in two methods: StopExecution and RetrievePartialResults
[DllImport(@"test.dll",CallingConvention=CallingConvention.Cdecl,EntryPoint ="StopExecution ()")]
publicstatic extern int StopExecution ();
[DllImport(@"test.dll",CallingConvention=CallingConvention.Cdecl,EntryPoint ="RetrievePartialResults()")]
publicstatic extern MyResults RetrievePartialResults();
- Is it possible to do?
- If no, is there any alternatives?
- If yes, where can I find more examples?
0 Comments
Accepted Answer
Ryan Livingston
on 24 Mar 2020
Edited:Ryan Livingston
on 25 Mar 2020
In addition to Bill's answer, generating the interface binding the generated C code to C# with something like SWIG is also an option. Here's an example:
启动和停止应用程序,其他e isn't a built-in way for Coder to make a program interruptible. You'll need to design your MATLAB code to support such a behavior by possibly adding
StopExecution and RetrievePartialResults
entry-point functions which do the right thing when run in your deployed environment.
0 Comments
More Answers (1)
Bill Chou
on 23 Mar 2020
Yes, it's possible to use MATLAB Coder to integrate with C# applications. One would need to make some manually changes at the interface. Please see this article for more details:
0 Comments
See Also
Categories
s manbetx 845
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!