Initializing MATLAB runtime from c# app

27 visualizzazioni (ultimi 30 giorni)
Chase
Chase il 30 Giu 2023
Modificato: Chase il 6 Lug 2023
I have a c# windows form app that launches standalone MATLAB exes built with compiler.build.standaloneApplication. However launching these exes takes quite a long time since MATLAB runtime needs to be initialized (30 seconds to minutes for some apps). Is there a way I can preload the runtime when the c# app is launched to reduce subsequent launch times of the standalone apps?

Risposte (1)

Prannoy
Prannoy il 30 Giu 2023
Yes, you can preload the MATLAB Runtime when your C# app is launched to reduce subsequent launch times of the standalone MATLAB apps. Preloading the MATLAB Runtime ensures that it is initialized and ready to be used by the standalone apps when they are launched.
Here's an example of how you can preload the MATLAB Runtime in your C# app:
  1. Add a reference to the MathWorks.MATLAB.NET.Arrays assembly in your C# project.
  2. In your C# code, before launching the standalone MATLAB app, you can preload the MATLAB Runtime by creating an instance of the MathWorks.MATLAB.NET.Utility.MWMCR class and calling the Initialize method. This initializes the MATLAB Runtime and reduces the subsequent launch times of the standalone apps.
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
// Preload the MATLAB Runtime
MWMCR mcr = new MWMCR();
mcr.Initialize();
3. After preloading the MATLAB Runtime, you can launch the standalone MATLAB app as usual.
  1 Commento
Chase
Chase il 30 Giu 2023
Modificato: Chase il 6 Lug 2023
@Prannoy Thanks for your response. When trying to create an instance of MWMCR, I get this error
Note: THIS CONSTRUCTOR SHOULD ONLY BE REFERENCED FROM COMPILER GENERATED CODE.
CS1729: 'MWMCR' does not contain a constructor that takes 0 arguments
I have a reference to MWArray in my project ( C:\Program Files\MATLAB\MATLAB Runtime\<version>\toolbox\dotnetbuilder\bin\win64\<framework_version>\MWArray.dll )

Accedi per commentare.

Categorie

Scopri di più su MATLAB Compiler SDK in Help Center e File Exchange

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by