Logo Mon Club Elec

Scilab : f(x,y) : Tracé de la fonction Gaussienne G(x,y)

Scilab est un logiciel de calcul scientifique qui permet de tracer des fonctions mathématiques. Dans ce tutoriel, nous allons nous intéresser à la fonction Gaussienne G(x,y). Nous verrons comment tracer cette fonction à l’aide de Scilab et comment interpréter les résultats obtenus. Nous verrons également comment modifier les paramètres de la fonction pour obtenir des résultats différents.

Scilab : f(x,y) : Tracé de la fonction Gaussienne G(x,y)

Scilab : f(x,y) : Tracé de la fonction Gaussienne G(x,y)

Présentation

  • Cette courbe est la version dans le plan de la courbe gaussienne G(x) et correspond à :

Liens utiles

La fonction

où :

La courbe obtenue

Scilab : f(x,y) : Tracé de la fonction Gaussienne G(x,y)

Discrétisation de la fonction Gaussienne 2D

  • En traitement d’image, il est pratique d’exprimer les fonctions appliquées à une image en masque de convolution, de taille 3×3 ou 5×5.
  • La fonction Gaussienne 2D discrète peut être calculée dans un simple tableur, et l’on obtient les noyaux de convolution suivants :
  • En fixant sigma = 0.8 et coeff = 16, j’obtiens (retrouve..) dans le tableur LibreOffice le noyau de convolution gaussien 2D en 3×3 suivant :
  • En fixant sigma = 0.8 et coeff = 1444, j’obtiens (retrouve..) dans le tableur LibreOffice le noyau de convolution gaussien 2D en 5×5 suivant :

Le code Scilab

A copier coller dans l’éditeur Scilab

// tracé de Gaussienne 2D
// www.mon-club-elec.fr
// par X. HINAULT
// Mai 2011

// definition de la fonction
function [z]=ma_fonction(x,y)

  // y=exp(-x^2./(2*sigma^2))/sqrt(2*%pi*sigma^2); // Gaussienne 1D
  z=exp((x^2+y^2)./(2*sigma^2))/(2*%pi*sigma^2);// Gaussienne 2D – fonction de x et y

endfunction

//x=[-%pi:0.1:+%pi]; // définition d’une série de valeurs régulièrement espacées
x=[3:0.1:+3]; // définition d’une série de valeurs régulièrement espacées
y=x; // y = x – base carrée du graphique 3D

sigma=1; // paramètre sigma de la Gaussienne

z=feval(x,y,ma_fonction); // calcul de z en se basant sur la fonction définie – feval obligatoire pour courbe 3D

//plot3d(x,y,z); // tracé de la courbe 3D – alpha=45 et theta=35 par défaut
//plot3d(x,y,z,alpha=15,theta=50); // trace la courbe 3D

//— utiliser plot3d1 pour pouvoir utiliser les dégradés de couleurs
plot3d1(x,y,z); // tracé de la courbe 3D – alpha=45 et theta=35 par défaut

// paramètres couleur basiques du graphique 3D  
//  a=gca();// »axes » courant
//  p=a.children;//Plot3d
//  p.foreground=1;//grille noir
//  p.color_mode=3;//dessus vert
//  p.hiddencolor=5;//dessous rouge

  // paramètres couleurs gradués du graphique 3D

  // — choix du modèle de couleur à utiliser —
  // différents modèles de couleurs sont disponibles
  //cmap=hotcolormap(64); // modele de couleur jaune-orange – 64 niveaux
  //cmap=jetcolormap(64); // modele de couleur rouge_jaune_bleu – 64 niveaux
  //cmap=coolcolormap(64); // modele de couleur bleu-rose – 64 niveaux
  //cmap=oceancolormap(64); // modele de couleur bleu foncé – blanc – 64 niveaux
  cmap=rainbowcolormap(64); // modele de couleur jaune – vert – bleu – rouge – 64 niveaux

  //— application du modele de couleur —  
  f=gcf();//figure courante
  f.color_map=cmap;// application du modele de couleurs à la figure
 

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.