m
Line 32: Line 32:
 
::
 
::
  
 
+
<source lang="matlab">
 
// function to compute the multivariate normal distribution
 
// function to compute the multivariate normal distribution
 
//note that it asks for the sigma inverse, as well as the Sigma's determinant
 
//note that it asks for the sigma inverse, as well as the Sigma's determinant
 
function [g] = MultivariateNormalDensity(x,mu, sigma_inv, sigma_det)
 
function [g] = MultivariateNormalDensity(x,mu, sigma_inv, sigma_det)
d=length(x);
+
d=length(x);
r2 = (x-mu)'*sigma_inv*(x-mu);
+
r2 = (x-mu)'*sigma_inv*(x-mu);
factor = 1/sqrt(((2*%pi)^d)*sigma_det);
+
factor = 1/sqrt(((2*%pi)^d)*sigma_det);
g = factor * exp (-(1/2)*r2);
+
g = factor * exp (-(1/2)*r2);
 
endfunction
 
endfunction
 +
</source>
  
  

Revision as of 09:53, 20 March 2008

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


Brief Introduction to Scilab


Scilab <http://www.scilab.org> 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:

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

To all math majors: "Mathematics is a wonderfully rich subject."

Dr. Paul Garrett