Here you can find relevant information on how to implement Pattern Recognition projects using Scilab.


Brief Introduction to Scilab

Scilab [1] is a open-source Matlab-like tool developed at INRIA. It can be downloaded for several platforms from the link:

http://www.scilab.org/download/

Tutorials describing how to use Scilab can be found here:

  • The official documentation[2]
  • A hands-on tutorial [3]
  • `ANU Scilab Tutorial [4]
  • `Une introduction a Scilab [5] , if you want to have some fun reading a Scilab tutorial in French.



Homework #1 related functionality

  • Random Number Generator: grand is the function used to generate random numbers. In order to generate a multivariate normally distributed sequence of *n* vectors with mean *mu* and covariance *cov*, grand should be called as:
numbers = grand(n, 'mn',mu, cov);


  • Function declaration: example that computes the multivariate normal probability density:
// function to compute the multivariate normal distribution
//note that it asks for the sigma inverse, as well as the Sigma's determinant
function [g] = MultivariateNormalDensity(x,mu, sigma_inv, sigma_det)
d=length(x);
r2 = (x-mu)'*sigma_inv*(x-mu);
factor = 1/sqrt(((2*%pi)^d)*sigma_det);
g = factor * exp (-(1/2)*r2);
endfunction

Tool Boxes

There are several tool boxes of functions written by people all over the world adding extra functionality to Scilab. Here are some useful links:

  • Toolboxes for Scilab and Their Manuals [6]
  • Scilab Toolbox especialized on Pattern Recognition -- Presto-Box [7]
  • Manual for Presto-Box -- Scilab [8]
  • ANN - Neural Networks Tool Box [9]
  • SCIsvm [10] , a plugin for the libsvm C++ library.

Scilab Code

All the relevant code for the EE662 course written in Scilab is posted below:

!`MultivariateNormalDensity.sci`__ - Implementation of a function to compute the multivariate normal density

__ MultivariateNormalDensity.sci

Alumni Liaison

Basic linear algebra uncovers and clarifies very important geometry and algebra.

Dr. Paul Garrett