Revision as of 23:01, 11 March 2008 by Lbachega (Talk)

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


The file with the code above can be downloaded from the link below:

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


The file with the code above can be downloaded from the link below:

!`MultivariateNormalDensity.sci`__

__ MultivariateNormalDensity.sci

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

The file with the code above can be downloaded from the link below:

!`MultivariateNormalDensity.sci`__

__ MultivariateNormalDensity.sci

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:


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

Correspondence Chess Grandmaster and Purdue Alumni

Prof. Dan Fleetwood