Main Content

Calling MATLAB as COM Automation Server

Write COM applications to work with MATLAB®

Automation is a COM protocol that allows one application (the controller or client) to control objects exported by another application (the server). MATLAB supports COM Automation server capabilities on Microsoft® Windows® operating systems. Any Windows program that can be configured as an Automation client can control MATLAB. Some examples are Microsoft Excel® and Microsoft Access™, as well as Microsoft Visual Basic® and Microsoft Visual C++® programs.

To get started writing applications to call MATLAB as a COM Automation server:

If you build client applications using C, C++, or Fortran, then use MATLAB Engine Applications instead of an Automation server. For more information, see Choosing Engine Applications.

To access COM components from MATLAB, see COM Objects in MATLAB.

Functions

expand all

comserverRegister, unregister, or query MATLAB COM server
regmatlabserverRegister current MATLAB as COM server
enableserviceEnable, disable, or report status of MATLAB Automation server
ExecuteExecute MATLAB command in Automation server
FevalExecute MATLAB function in Automation server
GetFullMatrixMatrix from Automation server workspace
PutFullMatrixMatrix in Automation server workspace
GetCharArrayCharacter array from Automation server
PutCharArrayCharacter array in Automation server
GetVariableData from variable in Automation server workspace
GetWorkspaceDataData from Automation server workspace
PutWorkspaceDataData in Automation server workspace
MaximizeCommandWindowOpen Automation server window
MinimizeCommandWindowMinimize size of Automation server window
QuitTerminate MATLAB Automation server

Topics

Register MATLAB as COM Server

To use MATLAB as a COM server, register the application in the Windows registry.

Create MATLAB Server

To create a server, use a programmatic identifier (ProgID) to identify the server.

Convert MATLAB Types to COM Types

How MATLAB converts data from MATLAB types to COM types.

Convert COM Types to MATLAB Types

How MATLAB converts data from a COM application into MATLAB types.

Call MATLAB Function from C# Client

This example shows how to call a user-defined MATLAB function from a C# application using MATLAB as an Automation server.

Call MATLAB Function from Visual Basic .NET Client

This example calls MATLAB functions from a Microsoft Visual Basic client application.

Pass Complex Data to MATLAB from C# Client

This example creates complex data in a client C# program and passes it to MATLAB.

Troubleshooting

Waiting for MATLAB Application to Complete

When you call a MATLAB function from another program, the program might display a timeout message while waiting for the MATLAB function to complete.

Related Information