-1

Я использовал инструмент развертывания компилятора Matlab для создания компилируемого проекта (сгенерировал dll), на который можно ссылаться в .net. В проекте .net я вызываю функции Matlab через dll, и у меня есть результаты. Но я хочу получить текущее рабочее пространство Matlab. Это возможно? Любая идея? Я использую Visual Studio 2010 и Matlab R2009b.Как получить рабочее пространство Matlab, связанное с текущим проектом Matlab в C#?

Это часть кода:

Using MatlabPackageNative; 

public static MatlabPackageNative.Files Matlab; 
Matlab.initialVariables(); 
Matlab.function1(); 
Matlab.function2(); 
+0

Не конечно, если это применимо, но было бы лучше реорганизовать ваш код, чтобы избежать использования глобальных переменных и переменных, определенных в базовом рабочем пространстве. Таким образом, ваши функции будут самодостаточными ... Просто мысль :) – Amro

ответ

1

У меня есть уже решение, так это следующее:

  1. Создать .m файл (например SaveWorskpace.m) против эта информация:

    save test.mat 
    
  2. Добавить SaveWorskpace.m в проекте с Matlab Compiler развертывания к ол.

  3. Компиляция проекта с Matlab Compiler Tool Развертывание
  4. Добавить ссылку на C# проекта
  5. вызова функции SaveWorkspace()
  6. Ready, у вас есть переменные сохранить в рабочем пространстве test.mat