Prise en main du logiciel Matlab
|
|
|
- Angèline Rose St-Jacques
- il y a 10 ans
- Total affichages :
Transcription
1 Prise en main du logiciel Matlab Ce tutoriel contient les bases permettant l utilisation du logiciel Matlab dans divers domaines tels que les graphiques, la résolution de systèmes, les statistiques, le temps de calcul, la programmation, le traitement d images. Réalisé par Arnaud Brouwers Année académique ArGEnCo - MS2F Hydrologie, Hydrodynamique Appliquée Constructions Hydrauliques (HACH)
2 Table des matières 1 Pour débuter Définitions de scalaires Définitions de vecteurs et de matrices Création de matrices particulières Opérateurs de bases Fonctions sur les scalaires Fonctions sur les matrices Opérations élément par élément Constantes prédéfinies Le typage de données Graphiques Graphique simple Graphique avancé Graphiques multiples Graphiques multiples Graphiques polaires Graphiques à échelles logarithmiques Graphiques à 3 dimensions Graphique de contours 3 dimensions Normales de surfaces Résolution de systèmes Décompositions de matrice Valeurs et vecteurs propres Déterminant Simplification d équations Résolution symbolique Dérivées et intégrales Équations et systèmes Résolution de systèmes linéaires Résolution symbolique de systèmes linéaires Résolution d équations différentielles Statistiques Statistiques descriptives Affichage simple de données Affichage avancé de données Corrélation entre variables Distribution de probabilités i
3 Table des matières 4.3 Interpolations Régression linéaire Temps Connaître le temps d exécution Programmation parallèle Comparatif Fortran, C++, Matlab Programmation Les m-files Hello world Les opérateurs logiques Les mots gardés Entrées / sorties Utilisateurs Disques Le contrôle de l exécution Boucle FOR Boucle WHILE Instruction de choix IF Instruction de choix SWITCH Les fonctions Les fonctions simples Les fonctions récursives Exemple de programme Exemple Exemple Traitement d images Chargement / affichage d une image Modifier une image Décomposition d une image en ses composantes couleurs Rotations d images Erosion, dilatation et combinaisons Détection de contours Détection améliorée de contours Affichage 3 dimensions Histogramme des composantes Seuillage Seuillage amélioré Transformée de Fourier p. ii
4 Chapitre 1. Pour débuter Chapitre 1 Pour débuter 1.1 Définitions de scalaires La définition d éléments est assez intuitive. Il est cependant toujours recommandé d utiliser des conventions pour la nomenclature des variables. Par exemple, que tous les noms des scalaires commencent par une minuscule et tous les noms des matrices par une majuscule, etc. De plus, il est vivement conseillé de choisir des noms de variables explicites sans pour autant les rendre trop long (exemple : MatriceDeDilatation, nbr itaration,...) Remarques : Matlab est sensible à la case des variables. Un nom de variable doit commencer par une lettre. Il peut ensuite contenir des chiffres et d autres symboles. % Définitions de scalaires % a = 1 ; A = 2 ; A = A * 2 ; disp(a) ; % a = 1 disp(a) ; % A = 4 z = 3 + 4*i ; % Nombre complexe 1.2 Définitions de vecteurs et de matrices Pour définir un vecteur sous Matlab, il suffit de mettre ses valeurs entre crochets et de les séparer par un espace. Pour obtenir un vecteur vertical, il suffit de le transposer via l ajout d un apostrophe après le crochet fermant. p. 1
5 Chapitre 1. Pour débuter % Vecteurs - % vech = [ ] ; vecv = [ ] ; % Vecteur horizontal % Vecteur vertical % Matrices % mat = [ ; % Ligne ] ; % Ligne 2 % Matrices Complexes % Z = [1 2 ; 3 4] + i * [5 6 ; 7 8] 1.3 Création de matrices particulières Matlab permet de créer de manière simplifiée des matrices spéciales comme, par exemple, des matrices remplies de 1 ou de 0, etc. (m et n sont les dimensions de la matrice souhaitée et A est une matrice) % Définitions de matrices spéciales % eye(m,n) ones(m,n) zeros(m,n) rand(m,n) diag(m,n) meshgrid(m :n,k :l) % Matrice unité % Matrice dont tous les éléments sont égaux à un % Matrice dont tous les éléments sont égaux à zéro % Matrice d éléments aléatoires % Matrice diagonale % Renvoie deux matrices de grilles définissant un quadrillage 1.4 Opérateurs de bases Les opérateurs ci-dessous sont valables pour les scalaires comme pour les matrices. Matlab effectuera la bonne opération en fonction du type des termes de l opérateur. % Définitions de matrices spéciales % % Transposition (matrice) + % Addition - % Soustraction * % Multiplication / % Division à droite \ % Division à gauche ˆ % Puissance 1.5 Fonctions sur les scalaires Voici une liste non-exhaustive des fonctions de bases sur les nombres scalaire.(dans l exemple : z représente un nombre complexe). p. 2
6 Chapitre 1. Pour débuter % Fonctions sur les scalaires - % abs(z) conj(z) imag(z) real(z) norm(z) prod(z) sum(z) round(z) % Valeur absolue ou module complexe % Complexe conjugué % Partie imaginaire % Partie réelle % Norme % Produit de tous les éléments d un argument vectoriel % Somme de tous les éléments d un argument vectoriel % Arrondit tous les éléments aux entiers les plus proches 1.6 Fonctions sur les matrices Voici une liste non-exhaustive des fonctions de bases sur les vecteurs et matrices. (Dans l exemple : V et A représentent des vecteurs ou des matrices). % Fonctions sur les matrices - % cumsum(v) cumprod(v) sum(v) prod(v) tril(a) triu(a) sort(a) fliplr(a) flipud(a) rank(a) trace(a) % Somme cumulée % Produit cumulé % Soustraction % Multiplication % Extraction de la partie triangulaire inférieure d une matrice % Extraction de la partie triangulaire supérieure d une matrice % Trie la matrice % Retourne la matrice horizontalement % Retourne la matrice verticalement % Rang de la matrice % Somme des éléments diagonaux 1.7 Opérations élément par élément Ajouter un point devant un des opérateurs classiques signifie que l on effectue l opération élément par élément. ( Exemple A,B,C étant des matrice, C = A.+ B C(i,j) = A(i,j) + B(i,j)). % Opérations élément par élément %.+ % Addition.- % Soustraction.* % Multiplication./ % Division.ˆ % Puissance 1.8 Constantes prédéfinies Matlab dispose de constantes prédéfinies. En voici la liste : p. 3
7 Chapitre 1. Pour débuter eps i Inf intmax intmin j NaN pi realmax realmin % Floating-point relative accuracy % Imaginary unit % Infinity % Largest value of specified integer type % Smallest value of specified integer type % Imaginary unit % Not-a-Number % Ratio of circle s circumference to its diameter % Largest positive floating-point number % Smallest positive normalized floating-point number 1.9 Le typage de données Matlab effectue ce que l on appel du typage dynamique, autrement dit il adapte le type des opérateurs de manière à permettre aux opérations de s effectuer. Cette pratique à des avantages comme des inconvénients d un coté cela évite au programmeur de devoir définir à l avance le type de chaque variable et d être coincé tout au long de l exécution par ce type. D un autre coté, lorsque le typage est dynamique, Matlab effectue des conversions de type implicites sans le signaler, ce qui peut augmenter le temps d exécution et parfois mener à des résultats surprenant. Il est cependant possible de forcer Matlab à faire des conversions explicites. Fonctions de conversions : % Fonctions de conversion % cast % Cast variable to different data type double % Convert to double precision int8, int16, int32, int64 % Convert to signed integer single % Convert to single precision typecast % Convert data types without changing underlying data uint8, uint16, uint32, uint64 % Convert to unsigned integer % Fonctions de conversion string vers nombre % base2dec %Convert base N number string to decimal number bin2dec %Convert binary number string to decimal number cast %Cast variable to different data type hex2dec %Convert hexadecimal number string to decimal number hex2num %Convert hexadecimal number string to double-precision number str2double %Convert string to double-precision value str2num %Convert string to number unicode2native %Convert Unicode characters to numeric bytes p. 4
8 Chapitre 2. Graphiques Chapitre 2 Graphiques 2.1 Graphique simple Les quelques commandes suivantes montrent comment afficher un graphique simple. Matlab ne sachant travailler qu en valeurs discrètes, il faut d abord commencer par définir l intervalle de valeurs de l abscisse. Une fois ceci fait, on calcul la valeur de la fonction (dans notre cas un cosinus) pour chaque échantillon de temps et l on arrive au vecteur y. % Graphique simple % t = 0 :pi/30 :2*pi ; % Abscisse de 0 à 2π par pas de π/30 y = cos(t) ; % Valeurs de la fonction dans le temps figure ; plot(t,y) title( Cos dans l intervalle [0,pi] ) ; xlabel( Temps ) ; ylabel( Cos(temps) ) ; text(pi/4,cos(pi/4), Je suis en [pi/4] ) % Nouvelle fenêtre % Tracer % Titre % Légende en abscisse % Légende en ordonnée % Chaîne de caractères à la position x,y p. 5
9 Chapitre 2. Graphiques 2.2 Graphique avancé Matlab permet de personnaliser les graphiques. Par exemple, il est possible de changer la couleur du trait, de marqué les points avec différents symbole tels que x,o,*,... etc. Voici un aperçu simple de ce qui est possible de faire. % Graphique avancé % figure ; t = 0 :pi/30 :2*pi ; y = cos(t) ; subplot(2,2,1) plot(t,y) ; title( Normal ) ; subplot(2,2,2) plot(t,y, r ) ; title( En rouge ) ; subplot(2,2,3) plot(t,y, or ) ; title( Cercles non reliés ) ; subplot(2,2,4) plot(t,y, *-g ) ; title( Etoiles reliées en verte ) ; % Nouvelle fenêtre % Définition de temps % Fonction du temps % Zone supérieure gauche % Tracer % Titre % Zone supérieure droit % Tracé en rouge % Titre % Zone inférieur gauche % Tracé points ronds en rouge % Titre % Zone inférieur droite % Tracé point étoiles relié en vert % Titre p. 6
10 Chapitre 2. Graphiques 2.3 Graphiques multiples 1 Il est possible de tracer plusieurs courbes sur le même graphique. Pour ce faire, une méthode consiste à mettre l ensemble des fonctions à tracer dans les parenthèses qui suivent la commande plot. % Graphique multiple 1 % figure ; x = linspace(0,pi,30) ; plot(x,cos(x), o-r,x,sin(x), x-b,x,exp(-x), *-g ) legend( cos(x), sin(x), exp(-x) ) % Nouvelle fenêtre % Fonction du temps % Tracer % Légende sur graphique 2.4 Graphiques multiples 2 Une autre méthode pour tracer plusieurs courbes sur un même graphique consiste à activer la commande Hold On ce qui stipule à Matlab de dessiner les graphiques les uns sur les autres. % Graphique multiple 2 % figure ; x = linspace(0,pi,30) ; hold on plot(x,cos(x), o-r ) plot(x,sin(x), x-b ) plot(x,exp(-x), *-g ) legend( cos(x), sin(x), exp(-x) ) % Nouvelle fenêtre % Fonction du temps % Maintient du graphique % Tracer points ronds reliés en rouge % Tracer points croix reliés en vert % Tracer points étoiles reliés en bleu % Légende sur graphique p. 7
11 Chapitre 2. Graphiques 2.5 Graphiques polaires Il est aussi possible de dessiner des graphiques polaires sous Matlab. % Graphique polaire % figure ; t = 0 :.01 :2*pi ; polar(t,sin(2*t).*cos(2*t), r ) % Nouvelle fenêtre % Échelle du temps % Graphique polaire en pointillé rouge p. 8
12 Chapitre 2. Graphiques 2.6 Graphiques à échelles logarithmiques Il est aussi possible de dessiner des graphiques avec un ou plusieurs axes sous forme logarithmique. % Graphique à échelles logarithmiques % figure ; x = 0 :0.01 :1 ; subplot(3,1,1) ; loglog(x,exp(x)) ; subplot(3,1,2) semilogx(x,exp(x)) subplot(3,1,3) semilogy(x,exp(x)) % Nouvelle fenêtre % Zone supérieure % Echelle logarithmique deux axes % Zone centrale % Echelle logarithmique sur l axe Ox % Zone inférieure % Echelle logarithmique sur l axe Oy 2.7 Graphiques à 3 dimensions Matlab permet la représentation de graphique à trois dimensions pour ce faire, il faut passer en arguments à la fonction meshc trois matrices représentant les coordonnées selon les trois axes des points de la fonction. Dans l exemple ci-dessous, les matrices X et Y sont construite à l aide de la fonction meshgrid de Matlab qui définis une grille carrée. Quand à la matrice Z elle est définie grâce p. 9
13 Chapitre 2. Graphiques à la fonction peaks qui représente une Gaussienne en fonction des matrices X et Y. % Graphique 3 dimensions % figure ; % Nouvelle fenêtre [X,Y] = meshgrid(-3 :.125 :3) ; % Génération d une grille de -3 à 3 pas de Z = peaks(x,y) ; % Distribution gaussienne en Z meshc(x,y,z) ; 3 dimensions axis([ ]) % Étalonnage des axes 2.8 Graphique de contours 3 dimensions Il est aussi possible de réaliser des contours. Ces fonctions relient les points de même hauteur (valeur) par des courbes. De plus, la couleur des courbes est liée à la valeurs qu elle représente. % Graphique de Contours 3 dimensions % figure ; % Nouvelle fenêtre [X,Y] = meshgrid(-3 :.125 :3) ; % Génération d une grille de -3 à 3 pas de Z = peaks(x,y) ; % Distribution gaussienne en Z subplot(3,1,1) ; meshc(x,y,z) ; subplot(3,1,2) contour(z,15) subplot(3,1,3) contour3(z,15) % Zone supérieure 3 dimensions % Zone centrale % Contour 15 niveaux % Zone inférieure % Contour 3 dimensions 15 niveaux p. 10
14 Chapitre 2. Graphiques p. 11
15 Chapitre 2. Graphiques 2.9 Normales de surfaces Enfin, il est possible sous Matlab de représenter des surfaces à trois dimensions ainsi que leur normale. % Normales de surfaces % figure ; [x,y,z] = cylinder(1 :10) ; surfnorm(x,y,z) axis([ ]) % Nouvelle Fenêtre % Creation d un cylindre 3 dimensions des surfaces et normes % Etalonnage des axes p. 12
16 Chapitre 3. Résolution de systèmes Chapitre 3 Résolution de systèmes 3.1 Décompositions de matrice Matlab permet de séparer des matrices selon plusieurs décompositions tels que LU, QR, SVD, etc. % Décomposition de matrice - % A = [ ; ; 7 8 9] ; % Définition de A [L U] = lu(a) % Décomposition LU [Q R] = qr(a) % Décomposition QR [U S V] = svd(a) % Décomposition USV 3.2 Valeurs et vecteurs propres Voici comment demander à Matlab de déterminer les valeus propres et les vecteurs propres d une matrice. % Valeurs et vecteurs propres -% A = [ ; ; 7 8 9] ; [VecA, ValA] = eig(a) % Définition de A % Renvoie les valeurs et vecteurs propres 3.3 Déterminant Pour connaître le déterminant d une matrice, il suffit d utiliser la commande det p. 13
17 Chapitre 3. Résolution de systèmes % Valeurs et vecteurs propres -% A = [ ; ; 7 8 9] ; det(a) % ans = 0 % Définition de A % Déterminant de la matrice A 3.4 Simplification d équations Matlab dispose de fonctions permettant la simplification d équations symboliques. Pour se faire, il suffit de déclarer les différents symboles via la commande syms et ensuite de données à la fonction simple l équation. % Simplification d équations % syms x ; f = cos(x)ˆ2 + sin(x)ˆ2 ; f = simple(f) % f = % 1 syms x ; g = cos(3*acos(x)) ; g = simple(g) % g = % 4*xˆ3-3*x % Déclaration des symboles % Fonction à simplifier % Simplification % Déclaration des symboles % Fonction à simplifier % Simplification 3.5 Résolution symbolique Dérivées et intégrales Matlab est capable de dériver ou d intégrer des expressions symboliques. Pour ce faire, il faut déclarer les symboles via la commande sims.il est aussi possible de forcer Matlab à dériver par rapport à une variable précise en l ajoutant en argument à la fonction p. 14
18 Chapitre 3. Résolution de systèmes % Dérivée symbolique % syms x ; % Déclaration des symboles diff(sin(xˆ2)) % Dérivation symbolique % ans = % 2*x*cos(x ˆ2) % Dérivée symbolique six fois - % syms t ; diff(tˆ6,6) % ans = % 720) % Déclaration des symboles % Dérivation symbolique % Dérivée symbolique par rapport à une variable précise % syms x t ; % Déclaration des symboles diff(sin(x*tˆ2), t) % Dérivation symbolique % ans = % 2*t*x*cos(tˆ2*x)) % Intégrale symbolique % syms x ; int(-2*x/(1 + xˆ2)ˆ2) % ans = % 1/(xˆ2 + 1) % Déclaration des symboles % Intégrale symbolique % Intégrale symbolique par rapport à z % syms x z ; int(x/(1 + zˆ2), z) % ans = % x*atan(z) % Déclaration des symboles % Intégrale symbolique % Intégrale de 0 à 1 - % syms x ; int(x*log(1 + x), 0, 1) % ans = % 1/4 % Déclaration des symboles % Intégrale symbolique % Intégrale symbolique de sin(t) à 1 - % syms x t ; int(2*x, sin(t), 1) % ans = % cos(t)ˆ2 % Déclaration des symboles % Intégrale symbolique p. 15
19 Chapitre 3. Résolution de systèmes Équations et systèmes Pour résoudre symboliquement une équation ou un système d équations, il faut tout d abord déclarer les symboles via syms. Une fois fait, la commande solve permet de résoudre les équations. Par défaut, Matlab définis des priorités dans les symboles pour déterminer par rapport à quel symbole il va résoudre. Cependant, il est possible d imposer le symbole comme montré ci-dessous en passant un argument supplémentaire à la fonction. % Résolution symbolique - % syms a b c x ; % Définition des symboles solve( a*xˆ2 + b*x + c ) % Résolution % ans = % -1/2*(b-(bˆ2-4*a*c)ˆ(1/2))/a % -1/2*(b+(bˆ2-4*a*c)ˆ(1/2))/a syms t m ; solve( sin(t + m) ) % ans = % -m syms a b c x ; solve( a*xˆ2 + b*x + c, b ) % ans = % -(a*xˆ2+c)/x % Définition des symboles % Résolution % Définition des symboles % Résolution pour la variable b 3.6 Résolution de systèmes linéaires Voici comment résoudre un système linéaire. Dans ce cas-ci, l intersection de deux droites. % Résolution d un système % syms x ; S = solve( x + 2*y = 1, x - 1*y = 5 ) ; ; S = [S.x S.y] ; % S = % [ 11/3, -4/3] % Définition des symboles % Résolution % Récupération des solutions 3.7 Résolution symbolique de systèmes linéaires Matlab permet aussi de résoudre symboliquement des systèmes linéaires. Il faut bien entendu commencer par préciser les symboles via la commande syms. p. 16
20 Chapitre 3. Résolution de systèmes % Résolution symbolique de système paramétrique - % syms a x ; S = solve( x + a*y = 1, x - 1*y = 5 ) ; S = [S.x S.y] % S = % [ (1+5*a)/(1+a), -4/(1+a)] % Définition des symboles % Résolution % Récupération des solutions 3.8 Résolution d équations différentielles Matlab permet la résolution d équations différentielles que l on dispose de conditions initiales ou non. % Résolution d équations différentielles 1 % dsolve( Dy = a*y, y(0) = b ) % % ans = % b*exp(a*t) % Résolution d équations différentielles 2 % dsolve( D2y = -aˆ2*y, y(0) = 1, Dy(pi/a) = 0 ) % % ans = % exp(a*i*t)/2 + 1/(2*exp(a*i*t)) % Résolution de systèmes d équations différentielles sans condition initiale - % syms x y ; Z = dsolve( Dx = y, Dy = -x ) ; Z = [Z.x Z.y] % Définition des symboles % Résolution différentielle % Récupération des solutions % z = % [ C1*sin(t)+C2*cos(t), C1*cos(t)-C2*sin(t)] % Résolution de systèmes d équations différentielles avec conditions initiales % syms x y ; Z = dsolve( Dx = y, Dy = -x, y(0) = 2,x(0) = 1 ) ; Z = [Z.x Z.y] % Définition des symboles % Résolution différentielle % Récupération des solutions % z = % [ cos(t)+2*sin(t), -sin(t)+2*cos(t)] p. 17
21 Chapitre 4. Statistiques Chapitre 4 Statistiques 4.1 Statistiques descriptives L ensemble des fonctions suivantes prennent en arguments soit un vecteur, soit une matrice. Dans le cas d une matrice chaque colonne est traitée comme une variable différente et le résultat des fonctions est donc un vecteur. % Statistiques descriptives % x = [ ; ; ; ; ] ; geomean(x), harmmean(x), mean(x), median(x) mode(x), var(x), std(x), range(x), max(x), min(x), prod(x) sum(x) sort(x) % Définition de la matrice % Moyenne géométrique % Moyenne harmonique % Moyenne arithmétique % Élément milieu du vecteur trie % Valeur la plus fréquente % Variance (n-1) % Déviation standard (n-1) % Intervalle des valeurs % Valeur maximum % Valeur minimum % Produit des éléments par colonnes % Somme des éléments par colonnes % Tri par colonnes Affichage simple de données Matlab permet l affichage de nuages de points. Pour ce faire, il faut lui fournir les coordonnées des points en deux vecteurs x et y. Il est de plus possible de classer les points en différents groupes via une troisième matrice. Les points ayant la même étiquette dans cette matrice sont considérés comme faisant partie p. 18
22 Chapitre 4. Statistiques du même groupe. % Affichage simple de données % x = [ ] ; y = [ ] ; group = [ ] ; gscatter(x,y,group) ; % Coordonnée en x des points % Coordonnée en y des points % Regroupement des points Affichage avancé de données Il est aussi possible d afficher les données de différentes manière comme par exemple en histogramme, en boxplots, en distribution cumulative, etc. p. 19
23 Chapitre 4. Statistiques avancé de donnée % x = [ 1 2 ; % Vecteur de données 2 4 ; 1 3 ; 4 8 ; 2 5 ; 5 8 ; 4 9 ; 5 7 ; 0 1 ; 4 5] ; y = [ ] ; figure ; hist(x) figure ; boxplot(x) figure ; cdfplot(y) figure ; normplot(x) % Autre vecteur de données % Nouvelle fenêtre % Histogram (1 par colonne) % Nouvelle fenêtre % Boxplots (1 par colonne) % Nouvelle fenêtre % Distribution cumulative % Nouvelle fenêtre % Probabilité normale (un par colonne). p. 20
24 Chapitre 4. Statistiques p. 21
25 Chapitre 4. Statistiques Corrélation entre variables La fonction corrcoef permet de calculer la corrélation entre différentes variables placées dans une matrice. Chaque colonne représentant une variable. % Corrélation % % R = corrcoef(x) returns a matrix R of correlation coefficients calculated % from an input matrix X whose rows are observations and whose % columns are variables. x = [ 1 2 ; 2 4 ; 1 3 ; ] disp( Corrélations : ) corrcoef(x), % Calcul de corrélation 4.2 Distribution de probabilités La toolbox statistics de Matlab fournis 5 fonctions qui peuvent être utilisées avec les différentes loi de probabilité. Fonction de densité de probabilité : Ici, la fonction est appelée dans le cas d une loi normal : p. 22
26 Chapitre 4. Statistiques % densité de probabilité % x = [-3 :0.1 :3] ; f = normpdf(x,0,1) ; Pour chaque pdf, le premier argument est l ensemble des données, les arguments suivants sont les paramètres nécessaire pour les lois de probabilités. (dans l exemple nous avons une loi normale de µ = 0 et de σ = 1 ) Fonction de distribution cumulative : % Distributions cumulatives % x = [-3 :0.1 :3] ; p = normcdf(x,0,1) ; La variable p contient les probabilités associées avec la distribution cumulative de probabilité de µ = 0 et de σ = 1. Fonction de distribution cumulative inverse : % Distributions cumulatives inverse % x = [-3 :0.1 :3] ; xnew = norminv(normcdf(x,0,1),0,1) ; Générateur aléatoire : Il est possible de générer des valeurs aléatoires pour chaque distribution. ( dans l exemple : la commande suivante renvoie un nombre aléatoire pour la loi normale de µ = 0 et de σ = 1 ) % Générateur aléatoire % x = normrnd(0,1) En ajoutant les arguments M et N : normrnd(0,1,m,n), la fonction renvoie alors une matrice de nombre aléatoire suivant la loi de probabilité. Moyenne et variance La commande suivante permet de récupérer la moyenne et la variance d une fonction de probabilité. % Moyenne et variance % [m,v] = normstat(0,1) p. 23
27 Chapitre 4. Statistiques Les différentes lois de probabilité sont : % Différentes lois de probabilités % beta : bino : chi2 : exp : f : gam : geo : hyge : logn : mvn : mvt : nbin : poiss : unid : unif : weib : Beta distribution Binomial distribution Chi-Square distribution Exponential distribution F distribution Gamma distribution Geometric distribution Hypergeometric distribution Lognormal distribution Multivariate normal distribution Multivariate t distribution Negative binomial Poisson cumulative distribution Uniform (discrete) distribution Uniform (continuous) distribution Weibull distribution 4.3 Interpolations Matlab permet d interpoler des points entre les données qui lui sont fournies. Il est possible d effectuer des interpolations linéaire, cubic, etc. % Interpolation linéaire % figure ; x = 0 :15 ; y = sin(x) ; plot(x,y, or ) ; hold on xinterp = 0 :.25 :15 ; yinterp = interp1(x,y,xinterp, linear ) ; plot(xinterp,yinterp, xb ) ; % Nouvelle fenêtre % Vecteur du temps % Sinus correspondant à x % Maintient du graphique % Interpolation entre chaque point % Interpolation de y en fonction de x p. 24
28 Chapitre 4. Statistiques % Interpolation cubic % figure ; x = - 5 :5 ; y = x.ˆ3 ; plot(x,y, or ) ; hold on xinterp = -5 :.25 :5 ; yinterp = interp1(x,y,xinterp, spline ) ; plot(xinterp,yinterp, x-b ) ; % Nouvelle fenêtre % Vecteur du temps % Élévation au cube correspondant à x % Maintient du graphique % Interpolation entre chaque points % Interpolation de y en fonction de x p. 25
29 Chapitre 4. Statistiques Différent type d interpolation : % Différents types d interpolation % nearest linear spline pchip cubic v5cubic Nearest neighbor interpolation Linear interpolation (default) Cubic spline interpolation Piecewise cubic Hermite interpolation (Same as pchip ) Cubic inte 4.4 Régression linéaire Matlab permet aussi d effectuer des régressions linéaires. Pour ce faire, il faut disposer de deux vecteurs, l un contenant les données en x et leur occurrence et l autre contenant les données correspondantes en y. % Régression linéaire % X = [ ; % Nombre d occurrence des valeurs ] ; % Valeurs en x y = [ ] ; % valeurs en y [B,BINT,R,RINT,STATS] = regress(y,x,0.05) figure ; plot(y,x( :,2), b. ) refline(b(2),b(1)) % Fonction de régression % Nouvelle fenêtre des points de la droite p. 26
30 Chapitre 5. Temps Chapitre 5 Temps 5.1 Connaître le temps d exécution Pour connaitre le temps d exécution d un script, il suffit de le placer les commandes d intérêts entre les mot-clés tic et toc. tic déclenche le chronomètre tandis que toc arrête le chronomètre et affiche l intervalle de temps. % Temps d exécution % tic ; for i = 0 :0.01 :1000 a = i * 3 ; end toc % Lancement du chronomètre % Instructions d intérêts % Arrêt du chronomètre 5.2 Programmation parallèle Matlab permet le travail en parallèle. Cependant pour ce faire la librairie suivante est requise : Parallel Computing Toolbox Pour travailler en parallèle, il fait tout d abord créer des pools dans la session Matlab et ensuite utiliser la commande parfor pour répartir le travail entre les différents pools. L exemple suivant montre comment effectuer simultanément sur 3 cœurs différents la recherche de valeurs propres de grandes matrices. % Exécutions parallèles - % matlabpool(3) % Création des pools parfor i=1 :3, % Répartition entre les pools c( :,i) = eig(rand(1000)) ; % Tâches end p. 27
31 Chapitre 5. Temps 5.3 Comparatif Fortran, C++, Matlab Le graphique suivant représente l étude du temps d exécution dans différentes langages. L étude est faite sur base de la comparaison du temps d exécution d un petit algorithme de calcul de produit matriciel pour des matrices carrées de 500,1000,2000 lignes. Sous matlab, quatre cas sont envisagé. Soit les variables sont pré-instanciées soit pas, soit l algorithme est implémenté manuellement soit c est la fonction prédéfinie qui est utilisée. Voici l algorithme vers Matlab : % Algorithme 1 - % clearvars ; % A = zeros(2000,2000) ; B = zeros(2000,2000) ; C = zeros(2000,2000) ; tic for i = 1 :2000 for j=1 :2000 A(i,j) = i ; B(i,j) = i ; C(i,j) = 0 ; end end % Instanciation des variables % Instanciation des variables % Instanciation des variables % Déclenche le Chronomètre % Initialisation des variables for i = 1 :2000 for j=1 :2000 for k=1 :2000 C(i,j) = C(i,j) + (A(i,k) * B(k,j)) ; end end end toc % Calcul du produit matriciel % Arrêt du chronomètre p. 28
32 Chapitre 5. Temps p. 29
33 Chapitre 5. Temps Le tableau précédent met en évidence la lenteur de Matlab dans lorsque le programmeur n est pas extrêmement méticuleux dans sa manière de faire. Par exemple, dans notre cas le temps d exécution est multiplié par trois lorsque les matrices ne sont pas pré-instanciées. De plus, l utilisation de fonction prédéfinie par Matlab ou non change considérablement le temps d exécusion. La conclusion est que le temps de calcul de Matlab reste tout à fait raisonnable lorsque le code est bien réfléchis mais que la moindre erreur peut entrainer des temps de calcul extrêmement long. p. 30
34 Chapitre 6. Programmation Chapitre 6 Programmation 6.1 Les m-files Un m-file est un fichier contenant une suite d instructions que Matlab peut exécuter. Un m-file peut aussi être utilisé comme fichier de librairie contenant des fonctions définies par l utilisateur. Pour créer un m-file, utilisez le menu File new M-file. 6.2 Hello world Une fois le M-file créé, tapez ceci : % Hello world % disp( Hello world ) p. 31
35 Chapitre 6. Programmation 6.3 Les opérateurs logiques % Opérateurs logiques % <... est plus petit que... >... est plus grand que... <=... est plus petit ou égal à... >=... est plus grand ou égal à... ==... est égal à... =... n est pas égal à... &... est vrai et... aussi (pour tableaux)... est vrai ou... est vrai, ou les deux (pour tableaux) &&... est vrai et... aussi... est vrai ou... est vrai, ou les deux... n est pas vrai xor(x,y)... est vrai ou... est vrai any(x)... vrai si un des éléments de x est non nul all(x)... vrai si tous les éléments de x sont nuls 6.4 Les mots gardés Les mots ou caractères suivant ont une signification particulière dans le langage de Matlab. % Mots/symboles gardés % : Create vectors, subscript arrays, specify for-loop iterations ( ) Pass function arguments, prioritize operators [ ] Construct array, concatenate elements, specify multiple outputs from function { } Construct cell array, index into cell array. Insert decimal point, define structure field, reference methods of object.( ) Reference dynamic field of structure.. Reference parent directory... Continue statement to next line, Separate rows of array, separate function input/output arguments, separate commands ; Separate columns of array, suppress output from current command % Insert comment line into code % % Insert block of comments into code! Issue command to operating system Construct character Construct function handle, reference class directory 6.5 Entrées / sorties Utilisateurs Les commandes suivantes permettent l interaction avec l utilisateur lors de l exécution d un script. L utilisateur peut dans l exemple ci-dessous saisir un nombre que le script pourra alors utiliser. Dans le sens inverse la commande disp permet d afficher des variables à l utilisateur. p. 32
36 Chapitre 6. Programmation % Exemple 1 - % n = input( Saisissez un nombre : ) ; Saisie de l utilisateur disp(n) ; Sortie vers l affichage Matlab Disques Il est aussi possible d exporter ou d importer des données sur le disque dur via les deux commandes suivantes. % Exemple 1 - % save D :...save.txt load D :... save.txt Sauvegarde le workspace Charge le workspace 6.6 Le contrôle de l exécution Boucle FOR La boucle FOR permet d effectuer des opérations pour un nombre d itérations définis. (Par exemple : pour n = 0 jusqu à 20 par pas de deux, effectuer les opérations suivantes). L avantage de la boucle FOR sur la boucle WHILE est sa simplicité d écriture dans le cas d un nombre d itérations définis et bien connu à l avance (par exemple, le parcours d un tableau). Autre remarque, lors de l exécution de la boucle FOR, la variable qui sert à boucler est accessible en lecture et en écriture. Il est donc possible de réduire ou d augmenter le nombre d itérations au cours de l exécution de la boucle. % Exemple 1 - % for n = 1 :5 % Boucle pour n allant de 1 à 5 inclus par pas de 1 disp(n) end % Fin de boucle % Exemple 2 - % for n = 8 :-2 :0 % Boucle pour n allant de 8 à 0 par pas de 2 disp(n) end % Fin de boucle % Exemple 3 - % for n = [ ] disp(n) end % Boucle pour n égal chaque valeur du vecteur % Fin de boucle Boucle WHILE Le boucle Permet d effectuer des opérations de manière répétée jusqu à ce qu une condition soit falsifiée. (Par exemple : tant que la solution n est pas précise à 4 décimales, continuer à p. 33
37 Chapitre 6. Programmation chercher une solution plus précise.) % Exemple 1 % n = 5 ; m = 8 ; while (n < 10 && m > 0) % Boucle tant que n est inférieur à 10 % et m est supérieur à 0 n = n + 1 ; % Incrémente n m = m - 1 ; % Décrémente m disp(n) ; disp(m) ; end % Fin de boucle Instruction de choix IF L instruction IF est une instruction de choix. Autrement dit, en fonction que son gardien sera évalué vrai ou faux, la commande exécutera un groupe d instructions ou l autre. % Exemple 1 % n = 5 ; m = 8 ; if (n > 0) % Gardien 1 if ( n > 5 && m < 0) % Gardien 1 et gardien 2 disp ( ici 1 ) elseif (n == 5) % Si gardien1 et non gardien2 et gardien 3 disp ( ici 2 ) else % Si gardien1 et non gardien2 et non gardien 3 disp( ici 3 ) end % else % Si gardien 1 est faux disp( ici 4 ) end % Instruction de choix SWITCH L instruction SWITCH est une instruction de choix comme le IF mais avec la particularité de pouvoir effectuer plus de branchements que le IF. La commande SWITCH doit être utilisée dans le cas ou, par exemple, en fonction de la valeur d une variable, on effectue différentes opérations. Attention toute fois, que le nombre de valeurs possibles de cette variable doit être restreint pour conserver une certaine lisibilité du code. Le mot clé break signifie que l on arrête la commande SWITCH et que l on transfert l exécution au mot clé end. p. 34
38 Chapitre 6. Programmation % Exemple 1 % n = input( Pour sauver jack tapez 1, Jessy tapez 2, Brian tapez 3 : ) ; % Demande de saisie de l utilisateur switch n case 1 % Si n vaut 1 disp( Jack est sauvé ) break case 2 disp( Jessy est sauvé ) % Si n vaut 2 break case 3 disp( Brian est sauvé ) % Si n vaut 3 break otherwise disp( Vous n avez sauvé personne ) % Si n est différent de 1,2,3 end 6.7 Les fonctions Les fonctions simples Matlab permet de définir des fonctions. Une fonction est un ensemble d instructions regroupées de manière à ne pas devoir les répéter régulièrement. Une fonction peut prendre des arguments et renvoyer des valeurs. (Par exemple, si l on fourni à une fonction une date de naissance, cette fonction peut renvoyer l âge de la personne) La définition d une fonction se fait de la manière suivante : function arguments de sortie = nomdemafonction (arguments d entrée). Attention, pour que matlab reconnaisse une fonction et sache l utiliser à partir de l espace de travail, il est obligatoire que le nom du M-file soit identique au nom donné à la fonction. p. 35
39 Chapitre 6. Programmation % Fonction simple - % % Fonction isodd % Cette fonction prend en argument un nombre et renvoie % true si ce nombre est impair, false si non. % % Argument : un nombre % Valeur de retour : un boolean % Code placé dans isodd.m function p = isodd(n) if (mod(n,2) == 1) p = true ; else p = false ; end % Si la division modulaire laisse un reste % Renvoie vrai % renvoie faux Les fonctions récursives Une fonction est dite récursive si elle s appelle elle-même. La fonction suivante est récursive et permet de calculer la factoriel d un nombre. % Fonction récursive - % % Fonction fact % Cette fonction prend en argument un entier positif % et renvoie la factoriel correspondante. % % Argument : un entier positif % Valeur de retour : un entier positif % function y = fact(n) if (n <= 1) y = 1 ; else y = n * fact(n-1) ; end % Si l on est dans le cas de base % Si non, appel récursif 6.8 Exemple de programme Exemple 1 L objectif de ce programme est d analyser le pourcentage de gros éléments visibles dans le parement en béton. Un premier traitement a été effectué pour seuiller l image et contraster les différentes zones. Le programme ci-dessous va ensuite charger cette image pour calculer le p. 36
40 Chapitre 6. Programmation pourcentage de la zone noir par rapport à la zone blanche. % Exemple 1 - % img12 = imread( img12.png ) ; img4 = imread( img4.jpg ) ; figure ; subplot(1,2,1) imshow(img4) subplot(1,2,2) imshow(img12) [m,n] = size(img12) ; blackpoints = 0.0 ; otherpoints = 0.0 ; for i = 1 :m for j = 1 :n if (img12(i,j) == 0) blackpoints = blackpoints + 1 ; else otherpoints = otherpoints + 1 ; end % Chargement de l image % Chargement de l image % Nouvelle fenêtre % Zone supérieure % Zone droite % Dimensions de l image % Initialisation % Initialisation % Boucle verticale % Boucle horizontale % Si le point est noir % Incrémentation % Si non % Incrémentation end end disp(blackpoints) disp(otherpoints) percent = blackpoints / (blackpoints + otherpoints) ; disp( Le pourcentage d éléments non noir est de ) disp(percent) % Pourcentage Exemple 2 p. 37
41 Chapitre 7. Traitement d images Chapitre 7 Traitement d images 7.1 Chargement / affichage d une image Code Le code suivant permet le chargement et l affichage d images. La commande close all est importante car elle permet de fermer toutes les fenêtres graphiques actuellement ouvertes. % Chargement/Affichage d une image % close all % Fermeture de tous les graphiques img1 = imread( img1.jpg ) ; % Chargement de l image dans le workspace figure ; % Nouvelle figure imshow(img1) ; axis image ; % Type d axes de l image [1] colorbar % Ajoute la bar de coloration à droite % [1] % axis equal sets the aspect ratio so that the data units are the same in every direction. % The aspect ratio of the x-, y-, and z-axis is adjusted automatically according % to the range of data units in the x, y, and z directions. % axis image is the same as axis equal except that the plot box fits % tightly around the data. p. 38
42 Chapitre 7. Traitement d images Résultats 7.2 Modifier une image Objetcif L objectif de ce code et de récupérer ou de modifier la couleur d un pixel. Ici, l exemple travail en RGB mais il est possible de travailler en HSV ou autre. Code % Récupérer / Modifier pixel - % img1 = imread( img1.jpg ) ; % Chargement de l image dans le workspace disp( Valeur du pixel 250,250 ) de texte disp(strcat( R =, num2str(img1(250,250,1)))), % Composante de rouge du pixel (250,250) disp(strcat( G =, num2str(img1(250,250,2)))), % Composante de vert du pixel (250,250) disp(strcat( B =, num2str(img1(250,250,3)))), % Composante de bleu du pixel (250,250) disp( Composante de rouge (y = 100) : ) img1(1 :10,100,1) texte % Plusieurs composantes de rouge p. 39
43 Chapitre 7. Traitement d images Résultats 7.3 Décomposition d une image en ses composantes couleurs Objectif L objectif est ici de décomposer une image en ses composantes. Dans un premier temps, la décomposition s effectue selon les composantes RGB et dans un second temps selon les composantes HSV. p. 40
44 Chapitre 7. Traitement d images Code % Diviser une image en ses composantes RGB % img1 = imread( img1.jpg ) ; figure ; img1r = img1 ; img1r( :, :,2) = 0 ; img1r( :, :,3) = 0 ; subplot(3,1,1) ; imshow(img1r) ; img1g = img1 ; img1g( :, :,1) = 0 ; img1g( :, :,3) = 0 ; subplot(3,1,2) ; imshow(img1g) ; img1b = img1 ; img1b( :, :,1) = 0 ; img1b( :, :,2) = 0 ; subplot(3,1,3) ; imshow(img1b) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Mise à zéro de la composante de vert % Mise à zéro de la composante de bleu % Positionnement en zone supérieure % Mise à zéro de la composante de rouge % Mise à zéro de la composante de bleu % Positionnement en zone centale % Mise à zéro de la composante de rouge % Mise à zéro de la composante de vert % Positionnement en zone inférieure p. 41
45 Chapitre 7. Traitement d images Résultats p. 42
46 Chapitre 7. Traitement d images Code % Diviser une image en ses composantes HSV % img1 = imread( img1.jpg ) ; figure ; img1 = rgb2hsv(img1) ; img1h = img1 ; img1h( :, :,2) = 1 ; img1h( :, :,3) = 1 ; subplot(3,1,1) ; img1h = hsv2rgb(img1h) ; imshow(img1h) ; img1s = img1 ; img1s( :, :,1) = 1 ; img1s( :, :,3) = 1 ; subplot(3,1,2) ; img1s = hsv2rgb(img1s) ; imshow(img1s) ; img1v = img1 ; img1v( :, :,1) = 0 ; img1v( :, :,2) = 0 ; subplot(3,1,3) ; img1v = hsv2rgb(img1v) ; imshow(img1v) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Conversion en HSV % Mise à un de la saturation % Mise à un de la luminosité % Positionnement en zone supérieure % Mise à un de la teinte % Mise à un de la luminosité % Positionnement en zone centrale % Mise à zero de la teinte % Mise à zéro de la saturation % Positionnement en zone inférieure p. 43
47 Chapitre 7. Traitement d images Résultats 7.4 Rotations d images Objectifs Matlab permet de faire pivoter des images soit en rognant les bords de l image qui dépasseraient, soit en agrandissant l image pour ne pas perdre de données. p. 44
48 Chapitre 7. Traitement d images Code % Rotation d images % img1 = imread( img1.jpg ) ; figure ; subplot(1,3,1) ; imshow(img1) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Positionnement en zone de gauche img1rot1 = imrotate(img1,30, bilinear, loose ) ; % Rotation de l image avec pertes [2] subplot(3,3,2) ; % Positionnement en zone centrale imshow(img1rot1) ; img1rot2 = imrotate(img1,30, bilinear, crop ) ; % Rotation de l image sans perte [2] subplot(1,3,3) ; % Positionnement en zone droite imshow(img1rot2) ; % Argument de imrotate % - image % - degrés de rotation (sens trigonométrique) % - type d extrapolation, % - loose ou crop Résultats 7.5 Erosion, dilatation et combinaisons Objectif Une érosion consiste à rogner le contour des éléments d une image à l aide d un pattern. Une dilatation à l inverse, consiste à étendre les bords des éléments d une image. Enfin, il est possible de combiner les deux pour, par exemple, extraire le contour de formes, etc. p. 45
49 Chapitre 7. Traitement d images Code % Erosion, dilatation, combinaison % img6 = imread( img1.jpg ) ; figure ; pattern1 = ones(10,10) ; subplot(2,2,1) ; imshow(img6) ; img6dl = imdilate(img6, pattern1) ; subplot(2,2,2) ; imshow(img6dl) ; img6er = imerode(img6, pattern1) ; subplot(2,2,3) ; imshow(img6er) ; pattern2 = ones(5,5) ; imggrad = imdilate(img6, pattern2) - imerode(img6, pattern2) ; subplot(2,2,4) ; imshow(imggrad) ; % Chargement de l image dans le workspace % Nouvelle Fenêtre % Élément servant à éroder/dilater % Positionnement coin supérieur gauche % Dilatation % Positionnement coin supérieur droit % Érosion % Positionnement coin inférieur gauche % Élément servant à éroder/dilater % Combinaison % Positionnement coin inférieur gauche Résultats p. 46
50 Chapitre 7. Traitement d images 7.6 Détection de contours Objectif Matlab met à disposition des outils permettant d extraire le contour des éléments d une image en utilisant des filtre prédéfinis. (Par exemple : le filtre de Sobel). Il est de plus possible de régler la sensibilité des filtres en donnant des paramètres aux fonctions. Code % Détection de contours - % img2 = imread( img9.jpg ) ; figure ; img2gray = rgb2gray(img2) ; subplot(1,3,1) ; imshow(img2gray) ; edge1 = edge(img2gray, sobel,0.1) ; subplot(1,3,2) ; imshow(edge1) ; edge2 = edge(img2gray, log ) ; subplot(1,3,3) ; imshow(edge2) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Image en niveaux de gris % Positionnement en zone gauche % Détetion de bords de type sobel % Positionnement en zone centrale % Détetion de bords de type log % Positionnement en zone centrale Résultats 7.7 Détection améliorée de contours Objectif L objectif est ici d atteindre un meilleur niveau de détection de contours en combinant un filtre de Sobel avec des érosions et des dilatations. p. 47
51 Chapitre 7. Traitement d images Code % Détection de contours améliorée % img9 = imread( img9.jpg ) ; figure ; img9gray = rgb2gray(img9) ; subplot(2,2,1) ; imshow(img9gray) ; edge9 = edge(img9gray, log,0.01) ; subplot(2,2,2) ; imshow(edge9) ; pattern = ones(1,1) edge9am = imerode(edge9, pattern) ; edge9am = imdilate(edge9am, pattern) subplot(2,2,3) ; imshow(edge9am) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Image en niveaux de gris % Positionnement en zone gauche % Détection de bords de type log % Positionnement en zone centrale % Elément servant à éroder/dilater % Combinaison % Positionnement en zone centrale pattern2 = ones(2,2) ; % Elément servant à éroder/dilater edge9am = imdilate(edge9am, pattern2) - imerode(edge9am, pattern2) ; % Combinaison subplot(2,2,4) ; imshow(edge9am) ; % Positionnement en zone centrale p. 48
52 Chapitre 7. Traitement d images Résultats 7.8 Affichage 3 dimensions Objectif Afficher l image en trois dimensions. La troisième dimension étant le niveau de gris. Code % Image 3 Dimensions - % img2 = imread( img1.jpg ) ; figure ; subplot(1,2,1) ; imshow(img2) ; img2gray = rgb2gray(img2) ; img2graydouble = im2double(img2gray) ; subplot(1,2,2) ; mesh(img2graydouble) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Positionnement en zone de gauche % Transformation de l image en niveau de gris % Image en double précision % Positionnement en zone de gauche 3 dimensions p. 49
53 Chapitre 7. Traitement d images Résultats 7.9 Histogramme des composantes Objectif L objectif est ici de représenter un histogramme des composantes RGB de l image. Code % Histogramme des composantes - % img1 = imread( img1.jpg ) ; histor = imhist(img1( :, :,1),256) ; histog = imhist(img1( :, :,2),256) ; histob = imhist(img1( :, :,3),256) ; figure ; plotr = plot(histor) ; set(plotr, Color, red, LineWidth,2) ; hold on plotg = plot(histog) ; set(plotg, Color, green, LineWidth,2) ; hold on plotb = plot(histob) ; set(plotb, Color, blue, LineWidth,2) ; % Chargement de l image dans le workspace % Histogramme de la composante rouge % Histogramme de la composante vert % Histogramme de la composante bleu % Nouvelle fenêtre % Affiche l histogramme rouge % Définition de la couleur et de l épaisseur % Maintient le même graphique % Affiche l histogramme vert % Définition de la couleur et de l épaisseur % Maintient le même graphique % Affiche l histogramme bleu % Définition de la couleur et de l épaisseur p. 50
54 Chapitre 7. Traitement d images Résultats 7.10 Seuillage Objectif Un seuillage consiste à ne conserver que les pixels dont la valeur est comprise entre un seuil inférieur et un seuil supérieur. Cela permet, par exemple, d isoler les zones les plus claires d une image, etc. p. 51
55 Chapitre 7. Traitement d images Code % Seuillage - % img4 = imread( img4.jpg ) ; figure ; img4r = rgb2gray(img4) ; img4double = im2double(img4r) ; subplot(3,1,1) ; imshow(img4double) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Transformation de l image en niveau de gris % Transformation en double précision % Positionnement en zone de supérieur result1 = (img4double 0.85).*img4Double ; % Seuillage plus de 0.85 subplot(3,1,2) ; % Positionnement en zone de centrale imshow(result1) ; result2 = (img4double 0.72).*img4Double ; % Seuillage moins de 0.72 subplot(3,1,3) ; % Positionnement en zone inférieur imshow(result2) ; Résultats p. 52
56 Chapitre 7. Traitement d images 7.11 Seuillage amélioré Objectif Pour améliorer le seuillage, il est possible de combiner un seuillage avec des érosions ou des dilatations de manière, par exemple, à obtenir une image plus net, etc. Code % Seuillage amélioré - % img4 = imread( img4.jpg ) ; figure ; img4r = rgb2gray(img4) ; img4double = im2double(img4r) ; subplot(2,2,1) ; imshow(img4double) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Image en niveau de gris % Transformation en double précision % Positionnement en zone de supérieur img4seu = (img4double 0.72).*img4Double ; % Seuillage plus de 0.85 subplot(2,2,2) ; % Positionnement en zone de centrale imshow(img4seu) ; % Suppression des parasites pattern = ones(3,3) img4seuam = imerode(img4seu, pattern) ; img4seuam = imdilate(img4seuam, pattern) ; subplot(2,2,3) ; imshow(img4seuam) ; % Remplissage des trous pattern2 = ones(5,5) ; img4seuam = imdilate(img4seuam, pattern2) ; img4seuam = imerode(img4seuam, pattern2) ; subplot(2,2,4) ; imshow(img4seuam) ; % Élément servant à éroder/dilater % Combinaison % Positionnement en zone centrale % Combinaison % Positionnement en zone centrale p. 53
57 Chapitre 7. Traitement d images Résultats 7.12 Transformée de Fourier Objectif Matlab permet d effectuer la transformée de Fourrier deux dimensions d image. En voici un exemple. Code % Transformée de Fourrier % img7 = imread( img7.jpg ) ; figure ; subplot(2,1,1) ; imshow(img7) ; img7fft = fft2(img7) ; subplot(2,1,2) ; imshow(real(img7fft)) ; % Chargement de l image dans le workspace % Nouvelle fenêtre % Positionnement en zone supérieur % FFT deux dimensions % Positionnement en zone inférieur p. 54
58 Chapitre 7. Traitement d images Résultats p. 55
59 Références Mathworks : http :// Université catholique de Louvain : http :// http :// Université de Genève : http ://perso.unige.ch/ manuel/matlab/matlab1.pdf Université de Paris (UPMC) Département d analyse numérique : http :// postel/matlab/node26.html Université de cergy-pontoise : http :// article=67 Université Carlos III de Madrid : http ://halweb.uc3m.es/esp/personal/personas/amalonso/esp/matlab Tutorial PartII 2005.pdf http ://pagesperso-orange.fr/jerome.landre/docs/matlab ti.pdf
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.
Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne
Calcul Formel et Numérique, Partie I
Calcul Formel et Numérique N.Vandenberghe [email protected] Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations
Cours 7 : Utilisation de modules sous python
Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est
Calcul Formel et Numérique, Partie I
Calcul Formel et Numérique NicolasVandenberghe [email protected] Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 1.2 Où trouver des informations......................
TP 1 Introduction à Matlab Février 2009
1 Introduction TP 1 Introduction à Matlab Février 2009 Matlab pour «MATtrix LABoratory», est un logiciel qui a été conçu pour fournir un environnement de calcul numérique de haut niveau. Il est particulièrement
Gnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes
Chapitre 3 Gnuplot Le langage C ne permet pas directement de dessiner des courbes et de tracer des plots. Il faut pour cela stocker résultats dans des fichier, et, dans un deuxième temps utiliser un autre
MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique. Semestre S3
Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique Semestre S3 Cours MÉTHODES NUMERIQUES Chargé du Cours : M. GAGOU Yaovi E-mail :[email protected] URL : http://www.u-picardie.fr/gagou
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques
3.2. Matlab/Simulink. 3.2.1. Généralités
3.2. Matlab/Simulink 3.2.1. Généralités Il s agit d un logiciel parfaitement dédié à la résolution de problèmes d'analyse numérique ou de traitement du signal. Il permet d'effectuer des calculs matriciels,
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011
Dept. de mathématiques, Université de Fribourg (CH) SP 2011 Qu est ce que R? Un logiciel de statistiques libre et gratuit ; Un logiciel multi-plateforme (UNIX, Windows MacOS X) R permet de faire des calculs
Cours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):
Master Chimie Fondamentale et Appliquée : spécialité «Ingénierie Chimique» Examen «Programmation, Simulation des procédés» avril 2008a Nom : Prénom : groupe TD : I. Programmation I. 1 Ecrire un programme
Aide - mémoire gnuplot 4.0
Aide - mémoire gnuplot 4.0 Nicolas Kielbasiewicz 20 juin 2008 L objet de cet aide-mémoire est de présenter les commandes de base pour faire rapidement de très jolis graphiques et courbes à l aide du logiciel
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Initiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
TP 0 : INTRODUCTION À MATLAB
TP 0 : INTRODUCTION À MATLAB Résumé. Matlab est un logiciel de calcul numérique, utilisé dans de nombreux domaines d application. Il se fonde sur le calcul matriciel. Matlab est d ailleurs un raccourci
Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo
Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo Dans ce projet, nous allons réaliser le code qui permet d'insérer sur une image, un logo sur un
Introduction à la présentation graphique avec xmgrace
Chapitre 6 Introduction à la présentation graphique avec xmgrace Contenu 6.1 Avant-propos....................... 71 6.2 Faire un simple graphe................. 72 6.3 Un graphe avec plusieurs courbes...........
Python - introduction à la programmation et calcul scientifique
Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de
Compléments de documentation Scilab : affichage de texte et formatage de nombres
Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de
Opérations de base sur ImageJ
Opérations de base sur ImageJ TPs d hydrodynamique de l ESPCI, J. Bico, M. Reyssat, M. Fermigier ImageJ est un logiciel libre, qui fonctionne aussi bien sous plate-forme Windows, Mac ou Linux. Initialement
Infolettre #18 : Les graphiques avec Excel 2010
Infolettre #18 : Les graphiques avec Excel 2010 Table des matières Introduction... 1 Hourra! Le retour du double-clic... 1 Modifier le graphique... 4 Onglet Création... 4 L onglet Disposition... 7 Onglet
Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57
Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation
Projet Matlab : un logiciel de cryptage
Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Traitement bas-niveau
Plan Introduction L approche contour (frontière) Introduction Objectifs Les traitements ont pour but d extraire l information utile et pertinente contenue dans l image en regard de l application considérée.
Les algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
Premiers pas avec Mathematica
Premiers pas avec Mathematica LP206 : Mathématiques pour physiciens I Année 2010/2011 1 Introduction Mathematica est un logiciel de calcul formel qui permet de manipuler des expressions mathématiques symboliques.
Algorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Mémento Ouvrir TI-Nspire CAS. Voici la barre d outils : L insertion d une page, d une activité, d une page où l application est choisie, pourra
Séance 0 : Linux + Octave : le compromis idéal
Séance 0 : Linux + Octave : le compromis idéal Introduction Linux est un système d'exploitation multi-tâches et multi-utilisateurs, basé sur la gratuité et développé par une communauté de passionnés. C'est
TP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases
SINE QUA NON Découverte et Prise en main du logiciel Utilisation de bases Sine qua non est un logiciel «traceur de courbes planes» mais il possède aussi bien d autres fonctionnalités que nous verrons tout
Fonctions de plusieurs variables
Maths MP Exercices Fonctions de plusieurs variables Les indications ne sont ici que pour être consultées après le T (pour les exercices non traités). Avant et pendant le T, tenez bon et n allez pas les
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Conversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Note de cours. Introduction à Excel 2007
Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier
Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014
numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:[email protected] Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour
Maple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Débuter avec Excel. Excel 2007-2010
Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Géométrie discrète Chapitre V
Géométrie discrète Chapitre V Introduction au traitement d'images Géométrie euclidienne : espace continu Géométrie discrète (GD) : espace discrétisé notamment en grille de pixels GD définition des objets
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Codage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
TP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Table des matières. I Mise à niveau 11. Préface
Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3
Optimisation, traitement d image et éclipse de Soleil
Kléber, PCSI1&3 014-015 I. Introduction 1/8 Optimisation, traitement d image et éclipse de Soleil Partie I Introduction Le 0 mars 015 a eu lieu en France une éclipse partielle de Soleil qu il était particulièrement
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Créer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Précision d un résultat et calculs d incertitudes
Précision d un résultat et calculs d incertitudes PSI* 2012-2013 Lycée Chaptal 3 Table des matières Table des matières 1. Présentation d un résultat numérique................................ 4 1.1 Notations.........................................................
Once the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
TP SIN Traitement d image
TP SIN Traitement d image Pré requis (l élève doit savoir): - Utiliser un ordinateur Objectif terminale : L élève doit être capable de reconnaître un format d image et d expliquer les différents types
Langage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne [email protected]
Logiciel XLSTAT version 7.0. 40 rue Damrémont 75018 PARIS
Logiciel XLSTAT version 7.0 Contact : Addinsoft 40 rue Damrémont 75018 PARIS 2005-2006 Plan Présentation générale du logiciel Statistiques descriptives Histogramme Discrétisation Tableau de contingence
Traceur de courbes planes
Traceur de courbes planes Version 2.5 Manuel d utilisation Patrice Rabiller Lycée Notre Dame Fontenay le Comte Mise à jour de Janvier 2008 Téléchargement : http://perso.orange.fr/patrice.rabiller/sinequanon/menusqn.htm
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Initiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Baccalauréat ES Pondichéry 7 avril 2014 Corrigé
Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Fête de la science Initiation au traitement des images
Fête de la science Initiation au traitement des images Détection automatique de plaques minéralogiques à partir d'un téléphone portable et atelier propose de créer un programme informatique pour un téléphone
Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons
Guide d'utilisation OpenOffice Calc AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons 1 Table des matières Fiche 1 : Présentation de l'interface...3 Fiche 2 : Créer un nouveau classeur...4
Une chaîne de caractères est toute suite de caractères placés entre guillemets.
Chapitre 2 Chaînes de caractères, dates et heures I. Les chaînes de caractères I.. Généralités I.2. Fonctions propres aux chaînes de caractères I.2.. Conversion de chaînes en nombres I.2.2. Conversion
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.
1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le
Formats d images. 1 Introduction
Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation
INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX
TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des
IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES
IMPRTATIN, CRÉATIN, MANIPULATIN, EXPRTATIN DE DNNÉES STATISTIQUES Bernard Dupont [email protected] [email protected] Bien que l'analyse et le traitement des données ne soient pas sa vocation
Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer
Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy
Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Extraction d informations stratégiques par Analyse en Composantes Principales
Extraction d informations stratégiques par Analyse en Composantes Principales Bernard DOUSSET IRIT/ SIG, Université Paul Sabatier, 118 route de Narbonne, 31062 Toulouse cedex 04 [email protected] 1 Introduction
Simulation de variables aléatoires
Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo
Exemple d application en CFD : Coefficient de traînée d un cylindre
Exemple d application en CFD : Coefficient de traînée d un cylindre 1 Démarche générale Avec Gambit Création d une géométrie Maillage Définition des conditions aux limites Avec Fluent 3D Choix des équations
TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne
Objectifs : Ce TP est relatif aux différentes méthodes de codage d une information binaire, et à la transmission en bande de base de cette information. Les grandes lignes de ce TP sont l étude des méthodes
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected]
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected] Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
INF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
http://cermics.enpc.fr/scilab
scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,
Quantification Scalaire et Prédictive
Quantification Scalaire et Prédictive Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 7 Décembre 2012 M. Cagnazzo Quantification Scalaire et Prédictive 1/64 Plan Introduction
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
TOUT CE QU IL FAUT SAVOIR POUR LE BREVET
TOUT E QU IL FUT SVOIR POUR LE REVET NUMERIQUE / FONTIONS eci n est qu un rappel de tout ce qu il faut savoir en maths pour le brevet. I- Opérations sur les nombres et les fractions : Les priorités par
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine
Algorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
EXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume
Studio HERITIER Emmanuelle PERSYN Elodie SCHMUTZ Amandine SCHWEITZER Guillaume Cours R Présentation projet 10/10/2013 Introduction RStudio est une interface créé par JJ Allaire Elle est sortie le 11 Février
Cours Excel : les bases (bases, texte)
Cours Excel : les bases (bases, texte) La leçon 1 est une leçon de base qui vous permettra de débuter avec Excel, elle sera fort utile pour les prochaines leçons. Remarque : à chaque fois qu il est demandé
Représentation d un nombre en machine, erreurs d arrondis
Chapitre Représentation d un nombre en machine, erreurs d arrondis Ce chapitre est une introduction à la représentation des nombres en machine et aux erreurs d arrondis, basé sur [], [].. Un exemple :
INTRODUCTION. Introduction (2) Espace de travail. Fonctionnement. le Workspace (1) Mode interactif : Mode programme : Type de variables :
INTRODUCTION Introduction (2) MATrix LABoratory Logiciel qui permet, de manière interactive : de faire des calculs matriciels ; d analyser les données ; de visualiser les résultats en 2D et 3D... Langage
