Integrating a Simple MATLAB Function

The purpose of these examples is to highlight main steps required for integrating a MATLAB® function.

Simple Plot

To create the component for this example, see Integrating a Simple MATLAB Function. Then create a Visual Basic® application as follows:

  1. Review the sample application for this example in matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PlotExample\PlotVBApp\PlotApp.vb.

    The program listing is shown here.

     PlotApp.vb

    The program does the following:

    • Creates two arrays of double values

    • Creates a Plotter object

    • Calls the drawgraph method to plot the equation using the MATLAB plot function

    • Uses MWNumericArray to handle the data needed by the drawgraph method to plot the equation

      Note

      For information about these data conversion classes, see the MATLAB MWArray Class Library Reference, available in the matlabroot\help\dotnetbuilder\MWArrayAPI folder, where matlabroot represents your MATLAB installation folder

    • Uses a try-catch block to catch and handle any exceptions

    The statement

    Dim plotter As Plotter = New Plotter

    creates an instance of the Plotter class, and the statement

    plotter.drawgraph(coords)

    calls the method drawgraph.

  2. Build the PlotApp application using Visual Studio® .NET.

    1. The PlotVBApp folder contains a Visual Studio .NET project file for this example. Open the project in Visual Studio .NET by double-clicking PlotVBApp.vbproj in Windows® Explorer. You can also open it from the desktop by right-clicking PlotVBApp.vbproj > Open Outside MATLAB.

    2. Add a reference to the MWArray component, which is matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version\mwarray.dll.

    3. If necessary, add (or fix the location of) a reference to the PlotComp component which you built in a previous step. (The component, PlotComp.dll, is in the \PlotExample\PlotComp\x86\V2.0\Debug\distrib subfolder of your work area.)

  3. Build and run the application in Visual Studio .NET.

Phone Book

makephone Function

The makephone function takes a structure array as an input, modifies it, and supplies the modified array as an output.

Note

For complete reference information about the MWArray class hierarchy, see the MWArray API documentation.

Procedure

  1. If you have not already done so, copy the files for this example as follows:

    1. Copy the following folder that ships with MATLAB to your work folder:

      matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PhoneBookExample
    2. At the MATLAB command prompt, cd to the new PhoneBookExample subfolder in your work folder.

  2. Write the makephone function as you would any MATLAB function.

    The following code defines the makephone function:

    function book = makephone(friends)
    
    book = friends;
    for i = 1:numel(friends)
        numberStr = num2str(book(i).phone);
        book(i).external = ['(508) 555-' numberStr];
    end

    This code is already in your work folder in PhoneBookExample\PhoneBookComp\makephone.m.

  3. From the MATLAB apps gallery, open the Library Compiler app.

  4. Build the .NET component. See the instructions in Generate a .NET Assembly and Build a .NET Application for more details. Use the following information:

    Project NamePhoneBookComp
    Class Namephonebook
    File to compilemakephone.m

  5. Write source code for an application that accesses the component.

    The sample application for this example is in matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NETPhoneBookExample\PhoneBookVBApp\PhoneBookApp.vb.

    The program defines a structure array containing names and phone numbers, modifies it using a MATLAB function, and displays the resulting structure array.

    The program listing is shown here.

     PhoneBookApp.vb

    The program does the following:

    • Creates a structure array, using MWStructArray to represent the example phonebook data.

    • Instantiates the plotter class as thePhonebook object, as shown: thePhonebook = new phonebook();

    • Calls the makephone method to create a modified copy of the structure by adding an additional field, as shown: result = thePhonebook.makephone(1, friends);

  6. Build thePhoneBookVBApp application using Visual Studio .NET.

    1. The PhoneBookVBApp folder contains a Visual Studio .NET project file for this example. Open the project in Visual Studio .NET by double-clicking PhoneBookVBApp.vbproj in Windows Explorer. You can also open it from the desktop by right-clicking PhoneBookVBApp.vbproj > Open Outside MATLAB.

    2. Add a reference to the MWArray component, which is matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version\mwarray.dll.

    3. If necessary, add (or fix the location of) a reference to the PhoneBookVBComp component which you built in a previous step. (The component, PhoneBookComp.dll, is in the \PhoneBookExample\PhoneBookVBApp\x86\V2.0\Debug\distrib subfolder of your work area.)

  7. Build and run the application in Visual Studio .NET.

    The getphone program should display the output:

    Friends: 
    2x2 struct array with fields:
        name
        phone
    Result: 
    2x2 struct array with fields:
        name
        phone
        external
    Result record 2:
    Mary Smith
    3912
    (508) 555-3912
    
    Entire structure:
    Number of Elements: 4
    Dimensions: 2-by-2
    Number of Fields: 3
    Standard MATLAB view:
    2x2 struct array with fields:
        name
        phone
        external
    Walking structure:
    Element 1
       name: Jordan Robert
       phone: 3386
       external: (508) 555-3386
    Element 2
       name: Mary Smith
       phone: 3912
       external: (508) 555-3912
    Element 3
       name: Stacy Flora
       phone: 3238
       external: (508) 555-3238
    Element 4
       name: Harry Alpert
       phone: 3077
       external: (508) 555-3077