В этом примере показано, как вызвать пользовательскую функцию 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 # добавьте ссылку на проект к объекту MATLAB COM. Эта ссылка связывает программу с определенной версией MATLAB. Дополнительные сведения см. в документации поставщика. Например, откройте проект в Microsoft Visual Studio. В меню «Проект» выберите «Добавить ссылку». Выберите вкладку COM в диалоговом окне «Добавить ссылку». Выберите приложение MATLAB.
Создайте и запустите приложение в среде разработки.