Вызов функции MATLAB из клиента C #

В этом примере показано, как вызвать пользовательский MATLAB® функциональные myfunc из приложения C #, использующего MATLAB в качестве COM-сервера автоматизации. Дополнительные сведения о COM см. в разделе Вызов MATLAB в качестве COM-сервера автоматизации.

В примере используется ранняя привязка к определенной версии MATLAB.

Примечание

Чтобы использовать этот пример, вы должны знать, как создать и запустить приложение консоли COM в среде разработки, такой как Microsoft® Визуальная студия®.

Создайте функцию MATLAB myfunc в папке c:\temp\example.

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

Создайте консольное приложение C # в среде разработки.

using System; 
using System.Collections.Generic; 
using System.Text; 

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

            // Change to the directory where the function is located 
            matlab.Execute(@"cd c:\temp\example"); 

            // Define the output 
            object result = null; 

            // Call the MATLAB function myfunc
            matlab.Feval("myfunc", 2, out result, 3.14, 42.0, "world"); 
             
            // Display result 
            object[] res = result as object[]; 
             
            Console.WriteLine(res[0]); 
            Console.WriteLine(res[1]); 
            // Get user input to terminate program
            Console.ReadLine();
        } 
    } 
}

Из клиентской программы C # добавьте ссылку на проект к объекту MATLAB COM. Эта ссылка привязывает вашу программу к определенной версии MATLAB. Для получения дополнительной информации см. документацию поставщика. Для примера в Microsoft Visual Studio откройте свой проект. В Project меню выберите Add Reference. Выберите вкладку COM в диалоговом окне Добавить ссылку (Add Reference). Выберите приложение MATLAB.

Создайте и запустите приложение в среде разработки.

См. также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте