Integrating Matlab Coder with c#
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Guilherme
le 11 Oct 2013
Modifié(e) : Ryan Livingston
le 25 Mar 2020
Hi,
I want to integrate Matlab Coder output with a C# project in Visual Studio. My main idea is:
- Create a *.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 the model execution. May take several minutes
public static 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 ()")]
public static extern int StopExecution ();
[DllImport(@"test.dll",CallingConvention=CallingConvention.Cdecl,EntryPoint = "RetrievePartialResults()")]
public static extern MyResults RetrievePartialResults();
- Is it possible to do?
- If no, is there any alternatives?
- If yes, where can I find more examples?
0 commentaires
Réponse acceptée
Ryan Livingston
le 24 Mar 2020
Modifié(e) : Ryan Livingston
le 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:
As for starting and stopping the application, there 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 commentaires
Plus de réponses (1)
Bill Chou
le 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 commentaires
Voir également
Catégories
En savoir plus sur MATLAB Coder dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!