Matlab Builder NE -Sample Applications

Category : Matlab Builder NE

Yesterday I completed some sample on Matlab Builder NE:

1. Magic Square Example – The Magic Square example shows you how to create a .NET component named MagicSquareComp, which contains the magic class and other files needed to deploy your application. (1m-file 1 class)

This example demonstrates how to use MATLAB Builder NE to build a simple ‘ component returning a magic square and how to convert MWNumericArray types’ to native .NET types.

2. Create Plot Example – Use the MATLAB Builder NE product to convert a MATLAB function (drawgraph) to a method of a .NET class (Plotter) and wrap the class in a .NET component (PlotComp). (1m-file 1 class)

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.
  • Uses a try-catch block to catch and handle any exceptions
This example demonstrates how to use MATLAB Builder NE to build a component that displays a MATLAB figure window.

This application demonstrates plotting x-y data by graphing a simple parabola into a MATLAB figure window.

3. Variable Arguments Example – (2 m-files 1 class)

Project Name: VarArgComp

Class Name: Plotter

M-Files: drawgraph.m, extractcoords.m

function [xyCoords] = DrawGraph(colorSpec, varargin),

function [varargout] = ExtractCoords(coords)
coords = plotter.extractcoords(5, data),
data = CType(plotter.drawgraph(colorSpec, coords), MWNumericArray)


The purpose of the example is to show you the following:

  • How to use the builder to convert a MATLAB function, drawgraph, which takes a variable number of arguments, to a method of a .NET class (Plotter) and wrap the class in a .NET component (VarArgComp). The drawgraph function (which can be called as a method of the Plotter class) displays a plot of the input parameters.
  • How to access the component in a C# application (VarArgApp.cs) by instantiating the Plotter class and using MWArray to represent data.
  • How to build and run the VarArgDemoApp application, using the Visual Studio .NET development environment.

DRAWGRAPH Draws a graph using the specified color and connecting a variable number of  input coordinates. Returns a single two column data array containing the input coordinates.XYCOORDS= DRAWGRAPH(COLORSPEC, VARARGIN) Connect coordinates using a line of the specified color.

EXTRACTCOORDS Extracts a variable number of two element x and y coordinate vectors from a two column array [VARARGOUT] = EXTRACTCOORDS(COORDS) Extracts x,y coordinates from a two column array

The program does the following:

  • Initializes three arrays (colorSpec, data, and coords) using the MWArray class library
  • Creates a Plotter object
  • Calls the extracoords and drawgraph methods
  • Uses MWNumericArray to represent the data needed by the methods
  • Uses a try-catch block to catch and handle any exceptions

This example demonstrates how to use MATLAB Builder NE to build a component with a variable number of input and output arguments.

This application demonstrates how to call components having methods with varargin/vargout arguments.

4. Spectral Analysis Example – (2 class, 1m-file each)

Project Name: SpectraComp

Class Name: 1.Plotter > plotftt.m & 2.SignalAnalyzer>computeftt.m

  • How to use the MATLAB Builder NE product to create a component (SpectraComp) containing more than one class
    • How to access the component in a C# application (SpectraApp.cs), including use of the MWArray class hierarchy to represent data
    • How to build and run the application, using the Visual Studio .NET development environment

    The program does the following:

    • Constructs an input array with values representing a random signal with two sinusoids at 15 and 40 Hz embedded inside of it
    • Creates an MWNumericArray array that contains the data
    • Instantiates a SignalAnalyzer object
    • Calls the computefft method, which computes the FFT, frequency, and the spectral density
    • Instantiates a Plotter object
    • Calls the plotfft method, which plots the data
    • Uses a try/catch block to handle exceptions

    This application computes and plots the power spectral density of an input signal.

    5. Matrix Math Example – How to assign more than one MATLAB function to a component class (3 m-file 1 class)

  • How to assign more than one MATLAB function to a component class
  • How to manually handle native memory management by disabling the default memory manager for MWArray
    • How to access the component in a C# application (MatrixMathApp.cs) by instantiating Factor and using the MWArray class library to handle data conversion
    • How to build and run the MatrixMathApp application, using the Visual Studio .NET development environment

    Project Name: MatrixMathComp

    Class Name: factor M-Files: cholesky.m, ludecomp.m, and qrdecomp.m

    function [L] = Cholesky(A)
    function [L,U] = LUDecomp(A)
    function [Q,R] = QRDecomp(A)

    This application computes cholesky, LU, and QR factorizations of a finite difference matrix of order N. The order is passed into the application on the command line.

    6. Phonebook Example – (1class, 1mfile) The makephone function takes a structure array as an input, modifies it, and supplies the modified array as an output.

    Project Name:PhoneBookComp

    Class Name: phonebook>makephone.m

    getphone class demonstrates the use of the MWStructArray class

    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);

    Post a comment