Matlab-like · 2012. 9. 10. · Environnement : Windows, Linux, MacOS Nicolas SZAFRAN (UJF)...

Post on 12-Oct-2020

6 views 0 download

Transcript of Matlab-like · 2012. 9. 10. · Environnement : Windows, Linux, MacOS Nicolas SZAFRAN (UJF)...

Matlab-like

Nicolas SZAFRAN

UJF

2011-2012

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 1 / 37

Presentation

Plan

1 Presentation

2 Les bases

3 Utilisation avancee

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 2 / 37

Presentation

Matlab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 3 / 37

Presentation

Matlab

Logiciel de calcul numerique (6= calcul symbolique comme Maple)cree a la fin des annees 1970 autour des librairies Fortran EISPACK etLINPACK (calcul matriciel) et reecrit en 2000 autour de la librairieLAPACK.

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 3 / 37

Presentation

Matlab

Logiciel de calcul numerique (6= calcul symbolique comme Maple)cree a la fin des annees 1970 autour des librairies Fortran EISPACK etLINPACK (calcul matriciel) et reecrit en 2000 autour de la librairieLAPACK.

Logiciel commercial (payant) developpe par The MathWorks. Licenceproprietaire.

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 3 / 37

Presentation

Matlab

Logiciel de calcul numerique (6= calcul symbolique comme Maple)cree a la fin des annees 1970 autour des librairies Fortran EISPACK etLINPACK (calcul matriciel) et reecrit en 2000 autour de la librairieLAPACK.

Logiciel commercial (payant) developpe par The MathWorks. Licenceproprietaire.

Environnement : Windows, Linux, MacOS

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 3 / 37

Presentation

Matlab

Logiciel de calcul numerique (6= calcul symbolique comme Maple)cree a la fin des annees 1970 autour des librairies Fortran EISPACK etLINPACK (calcul matriciel) et reecrit en 2000 autour de la librairieLAPACK.

Logiciel commercial (payant) developpe par The MathWorks. Licenceproprietaire.

Environnement : Windows, Linux, MacOS

Site Web : www.mathworks.fr

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 3 / 37

Presentation

Octave

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 4 / 37

Presentation

Octave

Logiciel de calcul numerique cree a la fin des annees 1980 pourfaciliter l’utilisation de routines Fortran.Compatibilite du langage avec Matlab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 4 / 37

Presentation

Octave

Logiciel de calcul numerique cree a la fin des annees 1980 pourfaciliter l’utilisation de routines Fortran.Compatibilite du langage avec Matlab

Logiciel libre (gratuit). Licence GNU.

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 4 / 37

Presentation

Octave

Logiciel de calcul numerique cree a la fin des annees 1980 pourfaciliter l’utilisation de routines Fortran.Compatibilite du langage avec Matlab

Logiciel libre (gratuit). Licence GNU.

Environnement : Linux, MacOS, Sun Solaris, Windows

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 4 / 37

Presentation

Octave

Logiciel de calcul numerique cree a la fin des annees 1980 pourfaciliter l’utilisation de routines Fortran.Compatibilite du langage avec Matlab

Logiciel libre (gratuit). Licence GNU.

Environnement : Linux, MacOS, Sun Solaris, Windows

Site Web : www.octave.org

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 4 / 37

Presentation

Scilab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 5 / 37

Presentation

Scilab

Logiciel de calcul numerique cree au debut des annees 2000 a l’INRIA.

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 5 / 37

Presentation

Scilab

Logiciel de calcul numerique cree au debut des annees 2000 a l’INRIA.

Logiciel libre (gratuit). Licence CeCILL (CEA-CNRS-INRIA logiciellibre).

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 5 / 37

Presentation

Scilab

Logiciel de calcul numerique cree au debut des annees 2000 a l’INRIA.

Logiciel libre (gratuit). Licence CeCILL (CEA-CNRS-INRIA logiciellibre).

Environnement : Linux, Windows, MacOS

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 5 / 37

Presentation

Scilab

Logiciel de calcul numerique cree au debut des annees 2000 a l’INRIA.

Logiciel libre (gratuit). Licence CeCILL (CEA-CNRS-INRIA logiciellibre).

Environnement : Linux, Windows, MacOS

Site Web : www.scilab.org

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 5 / 37

Presentation

Comparatif Matlab-Octave-ScilabMatlab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 6 / 37

Presentation

Comparatif Matlab-Octave-ScilabMatlab

Les de Matlab :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 6 / 37

Presentation

Comparatif Matlab-Octave-ScilabMatlab

Les de Matlab :

rapidite d’execution, compilation possible du code Matlab

diversite des librairies

IDE integre et performant

possibite de developpement de GUI performante

assez repandu dans le monde industriel

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 6 / 37

Presentation

Comparatif Matlab-Octave-ScilabMatlab

Les de Matlab :

rapidite d’execution, compilation possible du code Matlab

diversite des librairies

IDE integre et performant

possibite de developpement de GUI performante

assez repandu dans le monde industriel

Les de Matlab :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 6 / 37

Presentation

Comparatif Matlab-Octave-ScilabMatlab

Les de Matlab :

rapidite d’execution, compilation possible du code Matlab

diversite des librairies

IDE integre et performant

possibite de developpement de GUI performante

assez repandu dans le monde industriel

Les de Matlab :

logiciel payant

logiciel gourmant en ressources (disque et RAM)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 6 / 37

Presentation

Comparatif Matlab-Octave-ScilabOctave

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 7 / 37

Presentation

Comparatif Matlab-Octave-ScilabOctave

Les de Octave :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 7 / 37

Presentation

Comparatif Matlab-Octave-ScilabOctave

Les de Octave :

compatibilite avec Matlab

logiciel gratuit

ajout de librairies supplementaires

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 7 / 37

Presentation

Comparatif Matlab-Octave-ScilabOctave

Les de Octave :

compatibilite avec Matlab

logiciel gratuit

ajout de librairies supplementaires

Les de Octave :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 7 / 37

Presentation

Comparatif Matlab-Octave-ScilabOctave

Les de Octave :

compatibilite avec Matlab

logiciel gratuit

ajout de librairies supplementaires

Les de Octave :

developpement de GUI difficile

peu repandu

lenteur relative d’execution

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 7 / 37

Presentation

Comparatif Matlab-Octave-ScilabScilab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 8 / 37

Presentation

Comparatif Matlab-Octave-ScilabScilab

Les de Scilab :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 8 / 37

Presentation

Comparatif Matlab-Octave-ScilabScilab

Les de Scilab :

diversite des librairies

IDE integre

possibite de developpement de GUI basique

assez repandu

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 8 / 37

Presentation

Comparatif Matlab-Octave-ScilabScilab

Les de Scilab :

diversite des librairies

IDE integre

possibite de developpement de GUI basique

assez repandu

Les de Scilab :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 8 / 37

Presentation

Comparatif Matlab-Octave-ScilabScilab

Les de Scilab :

diversite des librairies

IDE integre

possibite de developpement de GUI basique

assez repandu

Les de Scilab :

incompatibilite avec Matlab

lenteur relative d’execution

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 8 / 37

Les bases

Plan

1 Presentation

2 Les bases

3 Utilisation avancee

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 9 / 37

Les bases

Interpreteur de commande

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 10 / 37

Les bases

Interpreteur de commande

Execution a la volee (interpreteur) d’instructions via une fenetre decommande ou l’execution de fichiers-scripts

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 10 / 37

Les bases

Interpreteur de commande

Execution a la volee (interpreteur) d’instructions via une fenetre decommande ou l’execution de fichiers-scripts

Exemple Octave

octave:1> a = 2*cos(pi/3)-1

a = 2.22044604925031e-16

octave:2> for i=2:4, i*i, end

ans = 4

ans = 9

ans = 16

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 10 / 37

Les bases

Interpreteur de commande

Execution a la volee (interpreteur) d’instructions via une fenetre decommande ou l’execution de fichiers-scripts

Exemple Scilab

--> a = 2*cos(%pi/3)-1

a =

2.220446049D-16

--> for i=2:4, i*i, end

ans =

4.

ans =

9.

ans =

16.

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 11 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 12 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 12 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

A = [ 2 3 ; 5 -1]

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 12 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

A = [ 2 3 ; 5 -1]

Exemple : le vecteur-colonne complexe b =

(

1 + i

2

)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 12 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

A = [ 2 3 ; 5 -1]

Exemple : le vecteur-colonne complexe b =

(

1 + i

2

)

b = [ 1+%i ; 2] // codage Scilab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 12 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 13 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 13 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

A = [ 2 3 ; 5 -1]

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 13 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

A = [ 2 3 ; 5 -1]

Exemple : le vecteur-colonne complexe b =

(

1 + i

2

)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 13 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : la matrice A =

(

2 35 −1

)

A = [ 2 3 ; 5 -1]

Exemple : le vecteur-colonne complexe b =

(

1 + i

2

)

b = [ 1+i ; 2] % codage Octave

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 13 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 14 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : le vecteur-ligne c =(

3 8 13 18 23)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 14 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : le vecteur-ligne c =(

3 8 13 18 23)

c = 3:5:23

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 14 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : le vecteur-ligne c =(

3 8 13 18 23)

c = 3:5:23

Vecteur-ligne (resp. vecteur-colonne) ≡Matrice avec une seule ligne (resp. une seule colonne)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 14 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 15 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : le scalaire complexe d = e iπ/4

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 15 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : le scalaire complexe d = e iπ/4

d = exp(%i * %pi / 4) // codage Scilab

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 15 / 37

Les bases

Objets de baseMatrice numerique (reelle ou complexe)

Exemple : le scalaire complexe d = e iπ/4

d = exp(%i * %pi / 4) // codage Scilab

Scalaire ≡

Matrice avec une seule ligne et une seule colonne

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 15 / 37

Les bases

Operations de base

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 16 / 37

Les bases

Operations de base

Operations au niveau matriciel

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 16 / 37

Les bases

Operations de base

Operations au niveau matriciel

Exemple : A =

(

2 31 −5

)

, B =

(

−2 12 3

)

, C = A+ B , D = A · B

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 16 / 37

Les bases

Operations de base

Operations au niveau matriciel

Exemple : A =

(

2 31 −5

)

, B =

(

−2 12 3

)

, C = A+ B , D = A · B

A=[2 3;1 -5];B=[-2 1;2 3]; C=A+B, D=A*B

C =

0 4

3 -2

D =

2 11

-12 -14

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 16 / 37

Les bases

Operations de base

Operations au niveau matriciel

Exemple : A =

(

2 31 −5

)

, B =

(

−2 12 3

)

, C = A+ B , D = A · B

A=[2 3;1 -5];B=[-2 1;2 3]; C=A+B, D=A*B

C =

0 4

3 -2

D =

2 11

-12 -14

Les dimensions des operandes doivent etre compatibles

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 16 / 37

Les bases

Operations de base

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 17 / 37

Les bases

Operations de base

Operations au niveau matricielpossibilite d’operations element par element

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 17 / 37

Les bases

Operations de base

Operations au niveau matricielpossibilite d’operations element par element

Exemple : A =

(

2 31 −5

)

, B =

(

−2 12 3

)

D = A · B et E = (Ei ,j) = (Ai ,j × Bi ,j)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 17 / 37

Les bases

Operations de base

Operations au niveau matricielpossibilite d’operations element par element

Exemple : A =

(

2 31 −5

)

, B =

(

−2 12 3

)

D = A · B et E = (Ei ,j) = (Ai ,j × Bi ,j)

A=[2 3;1 -5];B=[-2 1;2 3]; D = A * B; E = A .* B

D =

2 11

-12 -14

E =

-4 3

2 -15

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 17 / 37

Les bases

Operations de base

Operations au niveau matricielpossibilite d’operations element par element

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 18 / 37

Les bases

Operations de base

Operations au niveau matricielpossibilite d’operations element par element

Exemple : B =

(

−2 12 3

)

D = B · B = B2 et E = (Ei ,j) = (B2i ,j)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 18 / 37

Les bases

Operations de base

Operations au niveau matricielpossibilite d’operations element par element

Exemple : B =

(

−2 12 3

)

D = B · B = B2 et E = (Ei ,j) = (B2i ,j)

B = [-2 1;2 3]; D = B ^ 2; E = B .^ 2

D =

6 1

2 14

E =

4 1

4 9

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 18 / 37

Les bases

Operations de base

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 19 / 37

Les bases

Operations de base

Arithmetique :

+ - / * ^ ./ .* .^

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 19 / 37

Les bases

Operations de base

Arithmetique :

+ - / * ^ ./ .* .^

Booleen :

< > <= >= == ~=

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 19 / 37

Les bases

Operations de base

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 20 / 37

Les bases

Operations de base

Transposee : ’

Exemple : A =

1 23 45 6

et B = tA = AT = transpose(A)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 20 / 37

Les bases

Operations de base

Transposee : ’

Exemple : A =

1 23 45 6

et B = tA = AT = transpose(A)

--> A = [1 2;3 4;5 6], B = A’

A =

1 2

3 4

5 6

B =

1 3 5

2 4 6

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 20 / 37

Les bases

Fonctions de base

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 21 / 37

Les bases

Fonctions de baseFonctions mathematiques

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 22 / 37

Les bases

Fonctions de baseFonctions mathematiques

Fonctions usuelles :

trigonometriques : cos, sin, tan, acos, asin, atan

logarithmiques : log, log10, log2, exp

hyperboliques : sinh, cosh, tanh, asinh, acosh, atanh

numeriques : abs, ceil, floor, round, min, max

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 22 / 37

Les bases

Fonctions de baseFonctions mathematiques

Fonctions usuelles :

trigonometriques : cos, sin, tan, acos, asin, atan

logarithmiques : log, log10, log2, exp

hyperboliques : sinh, cosh, tanh, asinh, acosh, atanh

numeriques : abs, ceil, floor, round, min, max

s’applique a une matrice element par element

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 22 / 37

Les bases

Fonctions de baseFonctions mathematiques

Fonctions usuelles :

trigonometriques : cos, sin, tan, acos, asin, atan

logarithmiques : log, log10, log2, exp

hyperboliques : sinh, cosh, tanh, asinh, acosh, atanh

numeriques : abs, ceil, floor, round, min, max

s’applique a une matrice element par elementExemple

--> A = [1.2 1.5 1.8 2.3 2.6 3.1]; B = round(A)B =

1 2 2 2 3 3

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 22 / 37

Les bases

Fonctions de baseFonctions sur des matrices

linspace : operateur pour creer un vecteur-ligne de valeurs equireparties

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 23 / 37

Les bases

Fonctions de baseFonctions sur des matrices

linspace : operateur pour creer un vecteur-ligne de valeurs equireparties

Exemple

--> i = linspace(3,10,8)i =

3 4 5 6 7 8 9 10

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 23 / 37

Les bases

Fonctions de baseFonctions sur des matrices

linspace : operateur pour creer un vecteur-ligne de valeurs equireparties

Exemple

--> i = linspace(3,10,8)i =

3 4 5 6 7 8 9 10

--> t = linspace(2,3,6)

t =

2.0000 2.2000 2.4000 2.6000 2.8000 3.0000

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 23 / 37

Les bases

Fonctions de baseFonctions sur des matrices

linspace : operateur pour creer un vecteur-ligne de valeurs equireparties

Exemple

--> i = linspace(3,10,8)i =

3 4 5 6 7 8 9 10

--> t = linspace(2,3,6)

t =

2.0000 2.2000 2.4000 2.6000 2.8000 3.0000

on peut aussi utiliser l’operateur :

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 23 / 37

Les bases

Fonctions de baseFonctions sur des matrices

zeros : cree une matrice composee de 0

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 24 / 37

Les bases

Fonctions de baseFonctions sur des matrices

zeros : cree une matrice composee de 0

Exemple

--> A = zeros(2,4)A =

0 0 0 0

0 0 0 0

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 24 / 37

Les bases

Fonctions de baseFonctions sur des matrices

ones : cree une matrice composee de 1

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 25 / 37

Les bases

Fonctions de baseFonctions sur des matrices

ones : cree une matrice composee de 1

Exemple

--> A = ones(2,4)A =

1 1 1 1

1 1 1 1

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 25 / 37

Les bases

Fonctions de baseFonctions sur des matrices

eye : cree une matrice identite

Exemple

--> A = eye(2)A =

1 0

0 1

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 26 / 37

Les bases

Fonctions de baseFonctions sur des matrices

rand : cree une matrice composee de valeurs aleatoires entre 0 et 1

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 27 / 37

Les bases

Fonctions de baseFonctions sur des matrices

rand : cree une matrice composee de valeurs aleatoires entre 0 et 1

Exemple

--> A = rand(2,3)A =

0.546419 0.047637 0.182567

0.718978 0.187824 0.659542

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 27 / 37

Les bases

Programmation

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 28 / 37

Les bases

Programmation

definition des variables ”a la volee”

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 28 / 37

Les bases

Programmation

definition des variables ”a la volee”

instruction d’affectation (operateur =)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 28 / 37

Les bases

Programmation

definition des variables ”a la volee”

instruction d’affectation (operateur =)

instructions de controle :if ... then ... else ... end

while ... end

for ... end

continue

break

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 28 / 37

Les bases

Programmation

definition des variables ”a la volee”

instruction d’affectation (operateur =)

instructions de controle :if ... then ... else ... end

while ... end

for ... end

continue

break

structuration a l’aide de routinesfunction ... endfunction

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 28 / 37

Les bases

Programmation

definition des variables ”a la volee”

instruction d’affectation (operateur =)

instructions de controle :if ... then ... else ... end

while ... end

for ... end

continue

break

structuration a l’aide de routinesfunction ... endfunction

ecriture de programme sous forme de fichier(s)

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 28 / 37

Les bases

Fonctions

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 29 / 37

Les bases

Fonctions

function [liste arg out] id function (liste arg in)

instructions

endfunction

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 29 / 37

Les bases

Fonctions

function [liste arg out] id function (liste arg in)

instructions

endfunction

possibilite de listes d’arguments (en entree et en sortie) de taillevariable

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 29 / 37

Les bases

Fonctions

function [liste arg out] id function (liste arg in)

instructions

endfunction

possibilite de listes d’arguments (en entree et en sortie) de taillevariable

argument(s) en entree passe(s) par valeur

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 29 / 37

Les bases

Graphique

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 30 / 37

Les bases

Graphique

Trace en 2D et 3D.

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 30 / 37

Les bases

Graphique

Trace en 2D et 3D.

plot mesh

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 30 / 37

Utilisation avancee

Plan

1 Presentation

2 Les bases

3 Utilisation avancee

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 31 / 37

Utilisation avancee

Utilisation de types non numeriques

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 32 / 37

Utilisation avancee

Utilisation de types non numeriques

type booleen

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 32 / 37

Utilisation avancee

Utilisation de types non numeriques

type booleen

type fonction

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 32 / 37

Utilisation avancee

Utilisation de types non numeriques

type booleen

type fonction

type chaıne de caracteres

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 32 / 37

Utilisation avancee

Utilisation de types non numeriques

type booleen

type fonction

type chaıne de caracteres

types structures : struct, list, tlist, cell

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 32 / 37

Utilisation avancee

Fonctions specialisees

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

traitement du signal

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

traitement du signal

statistique

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

traitement du signal

statistique

interpolation, approximation

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

traitement du signal

statistique

interpolation, approximation

equa. diff., integration

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

traitement du signal

statistique

interpolation, approximation

equa. diff., integration

optimisation

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Fonctions specialisees

Routines et fonctions disponibles dans le logiciel ou dans des librairiesseparees

algebre lineaire

traitement du signal

statistique

interpolation, approximation

equa. diff., integration

optimisation

. . .

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 33 / 37

Utilisation avancee

Gestion des entrees/sorties

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 34 / 37

Utilisation avancee

Gestion des entrees/sorties

lecture au clavier

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 34 / 37

Utilisation avancee

Gestion des entrees/sorties

lecture au clavier

ecriture a l’ecran

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 34 / 37

Utilisation avancee

Gestion des entrees/sorties

lecture au clavier

ecriture a l’ecran

E/S sur fichiers

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 34 / 37

Utilisation avancee

Programmation avancee

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 35 / 37

Utilisation avancee

Programmation avancee

structuration sous forme de fichiers separes

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 35 / 37

Utilisation avancee

Programmation avancee

structuration sous forme de fichiers separes

variables locales et globales

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 35 / 37

Utilisation avancee

Programmation avancee

structuration sous forme de fichiers separes

variables locales et globales

test des arguments en entree/sortie d’une routine

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 35 / 37

Utilisation avancee

Graphique avance

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 36 / 37

Utilisation avancee

Graphique avance

parametrage des traces

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 36 / 37

Utilisation avancee

Graphique avance

parametrage des traces

trace multiple

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 36 / 37

Utilisation avancee

Graphique avance

parametrage des traces

trace multiple

gestion des objets graphiques

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 36 / 37

Utilisation avancee

Interfacage avec d’autres langages

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 37 / 37

Utilisation avancee

Interfacage avec d’autres langages

appel de programmes externes

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 37 / 37

Utilisation avancee

Interfacage avec d’autres langages

appel de programmes externes

interfacage avec des modules compiles et ecrits en C, Fortran, C++

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 37 / 37

Utilisation avancee

Interfacage avec d’autres langages

appel de programmes externes

interfacage avec des modules compiles et ecrits en C, Fortran, C++

creation de nouvelles routines a l’aide de modules compiles

Nicolas SZAFRAN (UJF) Matlab-like 2011-2012 37 / 37