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

Выберите ProgID

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

MATLAB ProgIDs для разделяемых серверов:

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

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

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

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

  • Matlab.Application.Single

  • Matlab.Autoserver.Single

Они version-independent MATLAB ProgIDs задают в настоящее время зарегистрированную версию MATLAB.

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

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

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

  • Клиент C#:

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

    где mlType и matlab заданы как:

    public static Type mlType;
    public static Object matlab;
  • Визуальный клиент 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 в полном настольном режиме с помощью ProgID Matlab.Desktop.Application.

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 появляется на рабочем столе, позволяя пользователю взаимодействовать с ним. Эта сила быть полезным для таких целей как отладка. Visible свойство включено (набор к 1) по умолчанию.

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

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

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

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

Больше о