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