Создайте сервер MATLAB

Выбор ProgID

Чтобы создать сервер, вам нужен программный идентификатор (ProgID), чтобы идентифицировать сервер. MATLAB® имеет ProgID для общих и выделенных серверов. Эти идентификаторы являются либо зависящими от версии, либо не зависящими от версии.

MATLAB ProgID для общих серверов:

  • Matlab.Application - Запускает командное окно Сервер автоматизации с версией MATLAB, которая совсем недавно использовалась в качестве сервера автоматизации (которая, возможно, не является последней установленной версией MATLAB)

  • Matlab.Autoserver - Запускает командное окно Сервер автоматизации с помощью последней версии MATLAB

  • Matlab.Desktop.Application - Запускает полный рабочий стол MATLAB как сервер автоматизации с помощью последней версии MATLAB

Идентификаторы ProgID для выделенных серверов:

  • Matlab.Application.Single

  • Matlab.Autoserver.Single

Эти version-independent MATLAB ProgIDs определяют текущую зарегистрированную версию MATLAB.

Чтобы создать образец определенной зарегистрированной версии MATLAB, можно использовать version-dependent ProgID. Для примера, Matlab.Application.7.14 создает образец MATLAB версии 7.14 (R2012a).

Создайте сервер автоматизации

Клиентское приложение устанавливает соединение с сервером MATLAB. Способ создания соединения зависит от языка клиентской программы. Для получения этой информации см. документацию по языку. Возможные опции включают:

  • Клиент C #:

    mlType = Type.GetTypeFromProgID("Matlab.Application");
    matlab = Activator.CreateInstance(mlType);
    

    где mlType и matlab определяются как:

    public static Type mlType;
    public static Object matlab;
  • Визуальный базовый® .NET клиента:

    MatLab = CreateObject("Matlab.Application")

    где MatLab определяется как:

    Dim MatLab As Object
  • Клиент VBA:

    Set MatLab = CreateObject("matlab.application")

    где MatLab определяется как:

    Dim MatLab As Object

Запустите MATLAB как сервер автоматизации в режиме рабочего стола

Эта корпорация Майкрософт® Код Visual Basic .NET запускает MATLAB как COM-сервер автоматизации в режиме полного рабочего стола с помощью Matlab.Desktop.Application ProgID.

Dim MatLab As Object
Dim Result As String
MatLab = CreateObject("Matlab.Desktop.Application")
Result = MatLab.Execute("surf(peaks)")

Подключение к существующему серверу MATLAB

Не всегда необходимо создавать новый образец сервера MATLAB. Клиенты могут подключаться к существующему серверу автоматизации MATLAB с помощью команд, зависящих от языка. Например, этот пример Visual Basic .NET соединяется с существующим сервером MATLAB, а затем выполняет команду plot на сервере.

Dim h As Object
h = GetObject(, "matlab.application") 
h.Execute ("plot([0 18], [7 23])")

Примечание

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

Кроме того, можно задать текущий сеанс MATLAB в качестве COM-сервера. Дополнительные сведения см. в разделе Создание сервера автоматизации вручную.

Управление внешним видом MATLAB на рабочем столе

Вы можете сделать MATLAB видимым на рабочем столе, установив Visible свойство. Когда MATLAB отображается на рабочем столе, что позволяет пользователю взаимодействовать с ним. Это может быть полезно для таких целей, как отладка. The Visible свойство включено (установлено в 1) по умолчанию.

Когда это не видно, окно MATLAB не появляется, что препятствует взаимодействию с приложением. Чтобы скрыть рабочий стол, установите Visible свойство к 0.

Этот код Visual Basic .NET показывает, как отключить Visible свойство.

Dim MatLab As Object
MatLab = CreateObject("matlab.application")
MatLab.Visible = 0

Похожие примеры

Подробнее о