C#+Matlab=?

Есть множество способов связывания C# с Matlab, но мы рассмотрим самый простой, медленный, предоставляющий все функции матлаба и требующий его установки: подключим матлаб как COM-объект. 🙂

Итак, первым делом нам нужно установить Matlab, а потом можно смело открывать визуалку и создавать новый проект.

Как только создали проект добавляем ссылку в References: Add Reference -> COM -> Matlab Application.

 

Теперь в проекте у нас есть Reference с именем MLApp, которая и представляет COM-объект.

Для его использования в коде, сначала нужно его подключить. Делается это просто с помощью одной строчки:

using MLApp;

Далее начнем писать свое приложение с использованием Matlab. Для начала создадим namespace, пропишем все нужное в using и создадим главный класс:

using System;
using System.Collections.Generic;
using MLApp;
 
namespace matlab
{
 
    class Program : Form
    {
        static void Main()
        {
            Program pr = new Program();
        }
    }
}

Теперь создадим объект и напишем функцию для работы с Matlab:

using System;
using System.Collections.Generic;
using MLApp;
 
namespace matlab
{
 
    class Program : Form
    {
        MLAppClass ml;
        Program()                     //конструктор
        {
            ml = new MLAppClass();    //создаем объект Matlab
            ml.Visible = 1;           //показывать окно команд
        }
        private string proc(string st)
        {
            //выполняем строку st в Matlab и записываем результат в ans
            string ans=ml.Execute(st);
            return ans;
        }
        static void Main()
        {
            Program pr = new Program();
            string st = Console.ReadLine();
            Console.WriteLine(pr.proc(st));
        }
    }
}

В результате выполнения программы мы увидим консольное окно, где нужно ввести выражение для исчисления. Например, 2+2*2. После ввода будет выведено на экран: ans=6.

Запись опубликована в рубрике Программирование. Добавьте в закладки постоянную ссылку.

Комментарии запрещены.