Calculating partial derivatives of an objective function can be tedious. You can use built-in functions for automatically calculating objective function partial derivatives by expressing the problem symbolically using Symbolic Math Toolbox™. You can then generate MATLAB ® code that you can use with Optimization Toolbox solvers. Matlab is available for students to install on personally-owned laptops. This includes both Undergraduate and Graduate students. To continue using Matlab, uninstall it and then download and install the current version or deactivate & reactivate. Statistics Toolbox; Symbolic Math Toolbox; Matlab Resources. Linear algebra is the study of linear equations and their properties. Symbolic Math Toolbox™ provides functions to solve systems of linear equations. You can also analyze, transform, and decompose matrices using Symbolic Math Toolbox functions. Symbolic Matlab Toolbox in title. Gait-CAD Education, Freeware, $0.00, 4.9 MB. DIPimage Home & Personal - Hobbies, Freeware, $0.00, 970.0 KB.

  • The Sick LIDAR Matlab/C++ Toolbox offers stable and easy-to-use C++ drivers for Sick LMS and Sick LD LIDARs. It provides a Matlab Mex interface for streaming LIDAR returns directly into Matlab. Also included are config utilities, examples, and. ...

    • sicktoolbox-1.0.1.tar.gz
    • sicktoolbox
    • Freeware (Free)
    • 1.38 Mb
    • BSD; Linux
  • Matlab Classification Toolbox contains implementations of the following classifiers: Matlab Classification Toolbox contains implementations of the following classifiers: Naive Bayes, Gaussian, Gaussian Mixture Model, Decision Tree and Neural Networks. This toolbox allows users to compare classifiers across various data sets.

    • MatlabClassificationToolbox.zip
    • cvdwalt
    • Freeware (Free)
    • 716 Kb
    • Linux
  • Multiple Hypothesis Testing (MHT) Toolbox is a MATLAB(R) toolbox for multiple hypothesis testing that includes functions for calculating and estimating multiple testing errors such as the False Discovery Rate (FDR).

    • Multiple Hypothesis TestingToolbox
    • mht-toolbox SourceforgeProject
    • Freeware (Free)
    • Windows
  • Probabilistic Graphical Model (PGM) Toolbox is a MATLAB(R) toolbox for Bayesian networks and other probabilistic graphical models..

    • Probabilistic GraphicalModel Toolbox
    • Angelos P. Armen
    • Freeware (Free)
    • Windows
  • A Matlab/Octave toolbox to design, simulate, and analyze optical communication systems. Open source, fast (using MEX), user-friendly and customizable, it includes cutting-edge solutions for: modulation formats, performance estimation, fiber. ...

    • optilux_v0.1.zip
    • optilux
    • Freeware (Free)
    • 1.63 Mb
    • Windows; BSD; Linux
  • SSLTool is a Matlab based toolbox for bioelectromagnetic data (EEG/MEG) visualization, surface Laplacian calculation and modeling. It can compute surface Laplacian on realistic head surfaces given by a triangular mesh. It has a friendly. ...

    • ssltool_v1p3d_beta.zip
    • ssltool
    • Freeware (Free)
    • 952 Kb
    • N/A
  • URAPIV is an open source Matlab (tm) toolbox for the Particle Image Velocimetry (PIV) analysis in fluid mechanics. URAPIV team has developed also the Python version, PyPIV URAPIV has extended to. ...

    • urapiv_winXP.zip
    • openpiv
    • Freeware (Free)
    • 6.86 Mb
    • Windows; Mac; Linux
  • GNAT* is an open source MATLAB-based toolbox. It provides functions for reading, writing, manipulation, visualization and simulation of glycan structures and glycosylation reaction networks.It is written in MATLAB and Java. It is thus ...

    • GNAT.zip
    • Gang
    • Freeware (Free)
    • 24.55 Mb
    • Windows
  • RWTH Mindstorms NXT Toolbox controls LEGO Mindstorms NXT robots with MATLAB via a wireless Bluetooth connection.RWTH Mindstorms NXT Toolbox is developed to control LEGO MINDSTORMS NXT robots with MATLAB via a wireless Bluetooth connection. This software is a free open source product and is subject to the GNU GENERAL PUBLIC LICENSE (GPL).

    • RWTHMindstormsNXTv2.03.zip
    • RWTH Mindstorms NXT ToolboxTeam
    • Freeware (Free)
    • 768 Kb
    • Linux
  • This is a MATLABtoolbox for the quality control and scoring of EMAP and SGA genetic interaction data. It includes a graphical user interface and some automatic plot-generating. ...

    • emap_toolbox_2.0.zip
    • emap-toolbox
    • Freeware (Free)
    • 6.32 Mb
    • Windows; Mac; Linux
  • This is a public release of a Matlabtoolbox for working with data from electroencephalography (EEG/ERP) and magnetic resonance imaging (MRI). It contains functions to process and visualize ERP/MRI data and associated electrode. ...

    • mri_toolbox_v2.0.zip
    • eeg
    • Freeware (Free)
    • 4.25 Mb
    • Windows; Mac; Linux
  • The NJ toolbox (njTBX) is a matlab object API, built on top of Unidata's Netcdf-Java API to facilitate netCDF model data manipulation. Development of njTBX is a part of 'An Open-Source Community Model for Coastal Sediment Transport'. ...

    • toolsUI-4.0.49.jar
    • njtbx
    • Freeware (Free)
    • 18.21 Mb
    • Windows; BSD; Linux

Related:Matlab Symbolic Toolbox - Symbolic Matlab Toolbox - Symbolic Math Toolbox - Database Toolbox Matlab - The Rengen Toolbox For Matlab
Pages : 1 | 2 | 3>

Table of Contents

Description

The TensCalcMatlab toolbox provides an environments forperforming nonlinear constrained optimization.

The variables to be optimized can be multi-dimensional arrays of anydimension (tensors) and the cost functions and inequality constraintsare specified using Matlab-like formulas.

Interior point methods are used for the numerical optimization, whichuses formulas for the gradient and the hessian matrix that arecomputed symbolically in an automated fashion.

The package can either produce optimized Matlab code or C code. Theformer is preferable for very large problems, whereas the latter forsmall to mid-size problems that need to be solved in just a fewmilliseconds. The C code can be used from inside Matlab using an(automatically generated) cmex interface or in standaloneapplications. No libraries are required for the standalone code.

A technical description of the algorithms behind TensCalc can be found athttps://www.ece.ucsb.edu/~hespanha/published/tenscalc_imp-20170630.pdf

Installation

The TensCalc toolbox supports Matlab running under:

  • OSX (tested extensively)
  • linux (tested lightly)
  • Microsoft Windows (very little testing)

To install

  1. Install the FunParTools toolbox.

  2. Install the CmexTools toolbox. This will only succeed after installing FunParTools.

  3. Download TensCalc using one of the following options:

    1. downloading it as a zip file fromhttps://github.com/hespanha/tenscalc/archive/master.zipand unzipping to an appropriate location

    2. cloning this repository with svn, e.g., using the shell command

    3. checking out this repository with Git, e.g., using the shell command

    The latter two options are recommended because you cansubsequently use svn update or git pull to upgrade TensCalcto the latest version.

    After this, you should have at least the following folders:

    • tenscalc
    • tenscalc/lib
    • tenscalc/examples
    • tenscalc/doc
  4. Enter tenscalc and execute the following command at the Matlab prompt:

    MATLAB must have write permissions to the foldertenscalc/lib

    This will only succeed after if you have already installed FunParToolsand CmexTools (steps 1 and 2 above).

  5. To test if all is well, go to tenscalc/examples and try a few example, such as

    A few Model Predictive Control (MPC) examples can be found ontenscalc/examples/mpcmhe, such as

    For this to work, MATLAB must have write permissions to the foldertenscalc/examples

    the solvers generated by TensCalc takes much longer time underMicrosoft Windows 10 than under OSX. E.g., each of the solversgenerated by sls above takes about 10-20s in OSX, but 170-200sunder Windows 10. Nevertheless, the actual solvers run pretty muchas fast (last optimization in sls takes about 850us under OSX and941us under Windows 10). I am running Windows 10 inside a virtualmachine (parallels), which could explain slower speed but not a10x increase in compilation time. Please email me if you haveideas.

Usage

What are tensors?

Tensors are essentially multi-dimensional arrays, but one needs tokeep in mind that in Matlab every variable is an array of dimension2 or larger. However, this is not always suitable for TensCalc,which also needs arrays of dimension 0 (i.e., scalars) and 1 (i.e.,vectors). This can create confusion because Matlab automatically“upgrades” scalars and vectors to matrices (by adding singletondimensions), but this is not done for TensCalc expressions.

STVEs?

How To Use Matlab Toolbox

The basic objects in TensCalc are symbolic tensor-valued expressions(STVEs). These expressions typically involve symbolic variables thatcan be manipulated symbolically, evaluated for specific values of itsvariables, and optimized.

Need speed?

Prior to numerical optimization, STVEs must be “compiled” forefficient computation. This compilation can take a few seconds or evenminutes but results in highly efficient Matlab or C code. Bigpayoffs arise when you need to evaluate or optimize an expressionmultiple time, for different values of input variables. TensCalc’scompilation functions thus always ask you to specify inputparameters. Much more on TensCalc’s compilations tools can be foundin CSparse’s documentation.

Creating STVEs.

The following sequence of TensCalc command can be used to declare an STVE to beused in a simple least-squares optimization problem.

Optimizing STVEs

To perform an optimization we need to create an appropriatespecialized Matlab class (say called 'minslsu'), using the followingcommand:

The goal of this class is to minimize the symbolic expression J withrespect to the variable x, subject to the constrains x>=0 andx<=.05. The symbolic variables A and b are declared asparameters that can be changed from optimization tooptimization. Setting the solverVerboseLevel to 3, asks for amoderate amount of debugging information to be printed while thesolver is executed (one line per iteration of the solver).

Once can see the methods available for the class Cminslscgenerated by cmex2optimizeCS using the usualhelp command, which produces:

The following commands creates an instance of the class and preformsthe optimization for specific parameter values:

The parameters mu0 and maxIter passed to the solver are theinitial value of the barrier variable and the maximum number of Newtoniterations, respectively.

Need more examples?

The example above and many others can be found in tenscalcexamples.

Full documentation

Full documentation for this toolbox can be found in

  • doc/tenscalc.pdf
How to use matlab toolbox

Additional technical information can be found at

  • doc/ipm.pdf
  • doc/csparse.pdf
  • doc/computationgraphs.pdf
  • doc/timeseries.pdf

Issues

  • While most Matlab scripts are agnostic to the underlying operatingsystems (OSs), the use of mex functions depends heavily on theoperating systems.

    Our goal is to build a toolbox that works across multiple OSs; atleast under OSX, linux, and Microsoft Windows. However, most of ourtesting was done under OSX so one should expect some bugs under theother OSs. Sorry about that.

  • Currently the compilation of TensCalc solvers under MicrosoftWindows 10 seems to be very slow. It is not clear what causes this.

  • Getting the solver to converge can be difficult for problems thatare numerically ill conditioned, especially with the C code thatdoes not do any numerical conditioning to find the Newton direction.

  • TensCalc gives very obscure error messages that make it prettyhard to for users to figure out what is wrong with theiroptimizations.

    E.g., if the cost function does not depend on one of theoptimization variables, the error message complains that 'sparsegradients are not supported' Why? because if the cost function doesnot depend on one of the variables, then the gradient of the costfunction is indeed a vector with some entries that are alwayszero. In general, TensCalc loves sparse matrices/vectors to makefast computations, but it is not prepared to handle sparse gradientssince this should never happen.

Acknowledgements

The following people greatly helped in testing and improving thistoolbox: David Copp, Sharad Shankar, Calvin Wang, Ricard Scott Erwing,Justin Pearson.

Contact Information

Joao Hespanha (hespanha@ece.ucsb.edu)

University of California, Santa Barbara

License Information

Copyright 2010-2017 Joao Hespanha

Matlab Toolbox Download

This file is part of Tenscalc.

TensCalc is free software: you can redistribute it and/or modify itunder the terms of the GNU General Public License as published by theFree Software Foundation, either version 3 of the License, or (at youroption) any later version.

Symbolic Math Toolbox Matlab Download

TensCalc is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.

Matlab Symbolic Toolbox Cost

You should have received a copy of the GNU General Public Licensealong with TensCalc. If not, see http://www.gnu.org/licenses/.