C# вызов функции Matlab, результат всегда одинаков - PullRequest
0 голосов
/ 08 января 2020

Я создал программу C#, которая вызывает функцию Matlab, и произошло нечто странное. Код очень прост, и я просто перечисляю их ниже:

Programm.cs:

    static void Main(string[] args)
    {
        // Create the MATLAB instance 
        MLApp.MLApp matlab = new MLApp.MLApp();

        // Change to the directory where the function is located
        string path = Directory.GetCurrentDirectory();
        matlab.Execute("cd " + path);

        // Define the output 
        object result = null;

        // Call the MATLAB function myfunc
        matlab.Feval("myfunc", 2, out result, 3.14, 42, "world");

        // Display result 
        object[] res = result as object[];

        Console.WriteLine(res[0]);
        Console.WriteLine(res[1]);
        Console.ReadLine();
    }

myfun c .m:

   function [x,y] = myfunc(a,b,c) 
   x = a + b; 
   y = sprintf('Hello %s', c); 

Каждый раз, когда я при запуске кода вывод всегда один и тот же, хотя я меняю тело функции matlab или значения аргументов.

Кто-нибудь сталкивался с такой же проблемой?

Я использую VisualStudio2019 и matlab2016.

пс. Если вы обнаружите какую-либо ошибку в моем письменном английском sh, пожалуйста, сообщите. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...