У меня проблема с Matlab.
У меня есть оболочка ac #, которая создает экземпляр Matlab и изменяет каталог, в котором находятся различные функции.Затем я вызываю требуемую функцию Matlab.
Проблема возникает, когда эта функция выполняет вызов другой функции, которая не находится в том же каталоге, но находится в моем пути Matlab.Матлаб говорит, что не может найти функцию.Просто чтобы сделать ситуацию более запутанной, некоторые функции, которые находятся в другом каталоге, работают.
В моем Matlab у меня есть файл startup.m, который загружает все мои необходимые пути.Это выполняется при создании экземпляра Matlab через C #?
Если я запускаю код вручную из Matlab, код работает отлично.
MLApp.MLApp _matlab;
try
{
// create matlab instance
_matlab = new MLApp.MLApp();
// change to the directory where the function is located
_matlab.Execute(@"cd G:\MyPath\production\SomeFolder\");
// define the output
object result = null;
// call the matlab function upload_data
_matlab.Feval("someFunctionName", 0, out result, "parameter");
// quit matlab
_matlab.Quit();
// display result
object[] res = result as object[];
}
catch(Exception ex)
{
_matlab.Quit();
throw;
}