Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction...

21
Matlab vs. Scilab Rafael Brunner

Transcript of Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction...

Page 1: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Matlab vs. Scilab

Rafael Brunner

Page 2: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

What‘s going on?

• Few words about Scilab‘s origin• Introduction to Scilab:

- linear algebra- programming

• Parts of my term work:- sparse matrices- Savitzky-Golay filter- performance comparison

• My own experiences

Page 3: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Scilab

• developed since 1990 at INRIA / ENPC (France)

• open source• free of charge• high quality toolboxes available

- artificial network- serial port

• similar to Matlab... yes, but...

Page 4: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Demo

• Linear Algebra- basics (how to enter matrices etc.)- compute with matrices- solving systems of equations- hessenberg form- LU-, QR-decomposition- eigenvalues, -vectors- SVD

Page 5: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Programming

• introduction / overview• example: poisson2d_kron

Page 6: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Overview (1)

• for var = expr, statement; ...; statement; end

• while expression, statements; end• if expr then statements;

elseif expr then statements;else statements;end

Page 7: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Overview (2)

• select expr case expr1 then instructions1 ... case exprn then instructionsn [else instructions]end

Page 8: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Overview (3)

• [lhs,rhs] = argn(0)• error• warning

Page 9: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Example (demo)

• poisson2d_kron.m poisson2d_kron.sci• mfile2sci

Page 10: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

2D-Poisson matrix

Page 11: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Sparse matrices

• Three different algorithms to generate the 2D-Poisson matrix:- set the elements one by one- block wise- kronecker product

Page 12: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Performance comparison

Page 13: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Solving a system Ax=b

• in this case Ax = 1• pcg (preconditioned conjugate

gradients method)• Scilab does not provide a pcg

method Scilin (IRISA)

Page 14: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Demo

• Solving Ax=1 for n=100• 2D-Poisson matrix generated by

poisson2d_kron

Page 15: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Performance comparison

Page 16: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Savitzky-Golay Filter

• measured data (slowly varying and corrupted by random noise)

• reconstruction of the underlying smooth function

Page 17: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Savitzky-Golay Filter (DEMO)

Page 18: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

My own experiences

• editor• translating

- build up new functions- mfile2sci

Page 19: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Summary

• speed• graphics• signal processing

Page 20: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

Is Scilab an alternative to Matlab?

Page 21: Matlab vs. Scilab Rafael Brunner. What‘s going on? Few words about Scilab‘s origin Introduction to Scilab: - linear algebra - programming Parts of my.

In my opinion:Scilab is capable and can be

an alternative to Matlab.