Чтобы создать сервер, вам нужен программный идентификатор (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
Этот код 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 с помощью специфичных для языка команд. Например, этот пример Visual Basic.NET подключения к существующему серверу MATLAB, затем выполняет команду plot в сервере.
Dim h As Object h = GetObject(, "matlab.application") h.Execute ("plot([0 18], [7 23])")
Примечание
Используйте GetObject
показанный синтаксис, который не использует первый аргумент.
В качестве альтернативы можно задать рабочий сеанс MATLAB как сервер COM. Для получения дополнительной информации см. Ручное создание сервера автоматизации.
Можно сделать MATLAB видимым на рабочем столе путем установки Visible
свойство. Когда видимый, MATLAB появляется на рабочем столе, позволяя пользователю взаимодействовать с ним. Эта сила быть полезным для таких целей как отладка. Visible
свойство включено (набор к 1
) по умолчанию.
Если не видимый, окно MATLAB не появляется, который предотвращает взаимодействие с приложением. Чтобы скрыть рабочий стол, установите Visible
свойство к 0
.
Этот код Visual Basic.NET показывает, как отключить Visible
свойство.
Dim MatLab As Object MatLab = CreateObject("matlab.application") MatLab.Visible = 0