(Brief Introduction to Scilab)
(Example Section: removed this section)
 
(9 intermediate revisions by 3 users not shown)
Line 19: Line 19:
 
* `Une introduction a Scilab [http://www.iecn.u-nancy.fr/~pincon/scilab/docletter.pdf] , if you want to have some fun reading a Scilab tutorial in French.
 
* `Une introduction a Scilab [http://www.iecn.u-nancy.fr/~pincon/scilab/docletter.pdf] , 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:
 
 
!`MultivariateNormalDensity.sci`__
 
 
__ MultivariateNormalDensity.sci
 
  
 
== Homework #1 related functionality ==
 
== Homework #1 related functionality ==
Line 52: Line 28:
 
* '''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:
 
* '''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:
  
 +
<source lang="matlab">
 
numbers = grand(n, 'mn',mu, cov);
 
numbers = grand(n, 'mn',mu, cov);
 
+
</source>
 
+
 
+
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 declaration:''' example that computes the multivariate normal probability density:
  
<nowiki>
+
<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
Line 96: Line 44:
 
g = factor * exp (-(1/2)*r2);
 
g = factor * exp (-(1/2)*r2);
 
endfunction
 
endfunction
</nowiki>
+
</source>
 
+
The file with the code above can be downloaded from the link below:
+
 
+
!`MultivariateNormalDensity.sci`__
+
 
+
__ MultivariateNormalDensity.sci
+
  
 
== Tool Boxes ==
 
== 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:
+
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 <http://www.scilab.org/contrib/index_contrib.php?page=download&category=MANUALS>`_
+
  
* `Scilab Toolbox especialized on Pattern Recognition -- Presto-Box <http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=194>`_
+
* Toolboxes for Scilab and Their Manuals [http://www.scilab.org/contrib/index_contrib.php?page=download&category=MANUALS]
  
* `Manual for Presto-Box -- Scilab <http://lmb.informatik.uni-freiburg.de/lmbsoft/presto-box/presto-box-docu.pdf>`_
+
* Scilab Toolbox especialized on Pattern Recognition -- Presto-Box [http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=194]
  
* `ANN - Neural Networks Tool Box <http://dir.filewatcher.com/d/Mandrake/10.2/src/Sciences/Mathematics/scilab-toolbox-ANN-0.4.2-4mdk.src.rpm.27699.html>`_
+
* Manual for Presto-Box -- Scilab [http://lmb.informatik.uni-freiburg.de/lmbsoft/presto-box/presto-box-docu.pdf]
  
* `SCIsvm <http://www.informatik.uni-freiburg.de/~fehr/scisvm.html>`_ , a plugin for the libsvm C++ library.
+
* ANN - Neural Networks Tool Box  [http://dir.filewatcher.com/d/Mandrake/10.2/src/Sciences/Mathematics/scilab-toolbox-ANN-0.4.2-4mdk.src.rpm.27699.html]
  
 +
* SCIsvm [http://www.informatik.uni-freiburg.de/~fehr/scisvm.html] , a plugin for the libsvm C++ library.
  
 
== Scilab Code ==
 
== Scilab Code ==

Latest revision as of 19:45, 26 March 2008

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