exponenta event banner

Создание сервера MATLAB

Выберите ProgID

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

Для общих серверов используются следующие ProgID MATLAB:

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

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

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

ProgID для выделенных серверов:

  • Matlab.Application.Single

  • Matlab.Autoserver.Single

Эти независимые от версии ProgID MATLAB определяют текущую зарегистрированную версию MATLAB.

Для создания экземпляра определенной зарегистрированной версии MATLAB можно использовать зависящий от версии 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;
  • Клиент Visual Basic ® .NET:

    MatLab = CreateObject("Matlab.Application")

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

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

    Set MatLab = CreateObject("matlab.application")

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

    Dim MatLab As Object

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

Этот код Microsoft ® Visual Basic .NET запускает MATLAB как сервер автоматизации COM в режиме полного рабочего стола с помощью ProgIDMatlab.Desktop.Application.

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

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

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

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

Примечание

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

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

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

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

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

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

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

Связанные примеры

Подробнее