Here you can find relevant information on how to implement Pattern Recognition projects using Scilab.
Contents
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.
- 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