В этом примере показано, как вызвать пользовательскую функцию 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# в своей среде разработки.
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.
Создайте и запустите приложение в своей среде разработки.