В этом примере показано, как вызвать пользовательский MATLAB® функциональный myfunc
из приложения C# с помощью MATLAB в качестве Сервера автоматизации COM. Для получения дополнительной информации о COM, смотрите Вызов MATLAB как Сервер автоматизации COM.
Пример использует раннюю привязку для определенной версии MATLAB.
Примечание
Чтобы использовать этот пример, необходимо знать, как создать и запустить консольное приложение COM в среде разработки, такой как Microsoft® Visual Studio®.
Создайте функцию MATLAB myfunc
в папке c:\temp\example
.
function [x,y] = myfunc(a,b,c) x = a + b; y = sprintf('Hello %s',c);
Создайте консольное приложение C# в своей среде разработки. Ссылка на Библиотеку типов MATLAB для C#:
MLApp.MLApp matlab = new MLApp.MLApp();
Вот полный пример:
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# добавьте ссылку на свой проект к COM-объекту MATLAB. Эта ссылка связывает вашу программу с определенной версией MATLAB. Обратитесь к своей документации поставщика для деталей. Например, в Microsoft Visual Studio, откройте свой проект. В меню Project выберите Add Reference. Выберите вкладку COM в диалоговом окне Add Reference. Выберите приложение MATLAB.
Создайте и запустите приложение в своей среде разработки.