sommaire easyfitgui = modéliser des courbes grabit = digitaliser des images

Post on 05-Apr-2015

107 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sommaire

easyfitGUI=

Modéliser des courbes

grabit=

Digitaliser des images

Télécharger le programme « grabit » sur le web, le tester

- en utilisant un moteur de recherche, trouver le site de Mathworks producteur de Matlab

- à partir du menu de ce site, naviguer jusqu’à la « Communauté des utilisateurs », « Échange de fichiers »

- Chercher, télécharger et sauver dans votre répertoire de travail le logiciel « grabit »

- Dans le fenêtre de commande. Lire l’aide après avoir taper :>> help grabit

- taper :>> grabit('-sample')

Expérimenter l’utilisation de grabit- Calibrer les axes- Saisir les points de la courbe verte- En cliquant 2 fois lentement (pas de double-clic) sur le nom de la variable « Data001 » du workspace, changer le nom pour simplement : « data »- Visualiser les valeurs contenues dans cette variable en double-cliquant sur son nom.- Dans une nouvelle figure, représenter la en plaçant la première colonne en abscisse et la seconde en ordonnée- Placer titre et labels à votre convenance

Digitaliser 2 droites

- Télécharger l’image « iamc2.bmp » à partir du répertoire :http://www.u-picardie.fr/~dellis/tdsMASTER/master_files_TdS/

- Digitaliser l’image pour saisir les 2 droites dans 4 variables différentes: x1 et y1 pour la droite du bas; x2 et y2 pour la droite du haut.

- Représenter y1 = f(x1) dans une figure Matlab.

Ecrire une fonction (I)La façon naturelle d’écrire une fonction est : y = f(x). Etudions un exemple simple.L’équation d’une droite est : y = a*x +b. Dans Matlab, en utilisant l’éditeur, on peut écrire cette équation dans un fichier qui sera sauvé par exemple sous le nom : « ma_droite.m » :

function y = ma_droite(a, b, x)y = a* x + b;end

Ecrire la fonction « ma_droite » et la sauver dans votre répertoire de travail. A ce moment, il faut la tester dans la fenêtre de commandes . Essayer successivement:

>> y=ma_droite(2, 5, 1)7>> y=ma_droite(2, 5, [1, 10, 100])7, 25, 205>> x=1:0.1:3; y= ma_droite(2, 5, x); plot(x, y, ‘o’)

• Le mot « function » est obligatoire. Il signale à Matlab que le fichier est celui d’une fonction et non celui d’un simple programme.

• Le mot « end » est obligatoire. Il signale à Matlab que la définition de la fonction est terminée.• Les variables à gauche du signe = sont les variables de sortie (ici il n’y en a qu’une : y). Les noms sont donnés

par l’utilisateur : y, u, t, x, mavariable, sortie, … Quand il existe plusieurs variables de sorties, il faut les placer entre crochet comme dans cet exemple :

function [u, v] = exempleavecplusieurssorties(x)u = x + 1;v = x – 1;end

• Le nom de la fonction placée à droite du signe =, ici « ma_droite », doit être le même que le nom du fichier qui sera sauvé.

• Les variables d’entrée sont placées entre parenthèses (ici 3 variables : a, b et x).• x est le vecteur qui contient les abscisses pour lesquelles la fonction calcule les ordonnées y.

Ecrire une fonction (II)Pour utiliser une fonction avec easyfitGUI il faut écrire la fonction dans un format spécifique tel que la fonction n’ait que 2 arguments en entrée : p et x. Ecrire le fichier qu’on appellera « droite.m » en utilisant l’éditeur et le format suivant :

function y = droite(p,x)y = p(1) * x + p(2);end

- Dans cet exemple, p est un vecteur qui possède 2 éléments : p(1) jouera le rôle de a et p(2) celui de b de l’expression y = a*x + b.

- x est le vecteur qui contient les abscisses pour lesquelles la fonction calcule les ordonnées y.

Après sauvé le fichier, il faut tester la fonction :

>> p=[2, 5]; y=droite(p, 1)7

>> p=[2, 5]; y=droite(p, [1, 10, 100])7, 25, 205

>> p=[2, 5]; x=1:0.1:3; y= droite(p, x); plot(x, y, ‘o’)

Ajuster des paramètres pour approcher des données par un modèle

Les variables crées dans l’exercice Digitaliser 2 droites doivent exister.

Après avoir étudier les commandes ci-dessous écrites sur une ligne :

>> p=[1,2]; y1new = droite(p,x1) ; plot(x1, y1, x1, y1new, ’or’)

exécuter plusieurs fois cette ligne dans la fenêtre de commandes afin de chercher par tâtonnement un vecteur p qui s’approche de la droite digitalisée y1 = f(x1). Ces valeurs seront utilisées par la suite comme valeurs initiales à un algorithme utilisé par la fonction easyfitGUI.

Télécharger la fonction easyfitGUI, lire l’aide et l’utiliser pour une droite et pour un modèle en puissance

- Télécharger le programme « easyfitGUI » sur le site Mathworks ou à partir

du répertoire : http://www.u-picardie.fr/~dellis/tdsMASTER/master_files_TdS/. Lancer le programme (la figure comportant y1 = f(x1) doit exister), utiliser l’aide disponible dans le menu de la figure pour trouver la pente et l’ordonnée à l’origine de la droite étudiée. (Voir la diapositive suivante)

- Télécharger le fichier de données « power1 » dans: http://www.u-picardie.fr/~dellis/tdsMASTER/master_files_TdS/. Après avoir écrit la fonction correspondant au modèle ci-dessous, ajuster les données y=f(x) par une loi de puissance de la forme: y=a*xn + b

>> plot(x,y,'*') >> easyfitGUI Cliquer sur « Select Line »puis sur la courbe à « fitter »

Cliquer sur « Input Function »et entrer le nom

Cliquer sur « Input Pinit » et entrer autant de valeurs qu’il y a d ’ éléments dans le vecteur p de la fonction modèle. Il ne restera plus qu’à cliquer sur « Start Fit ».

Etapes de l’ajustement de données expérimentales

Utiliser easyfitGUI pour un modèle de « pic »- Télécharger l’image de données

« iamc1.bmp» depuis :http://www.u-picardie.fr/~dellis/

tdsMASTER/master_files_TdS/.

460 480 500 520 540 560 580 6000.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

model: gauss

P1 = 1.2967 +/- 0.10251

P2 = 537.9805 +/- 1.0388

P3 = 540.8681 +/- 116.5501

P4 = 0.64964 +/- 0.090202

chi0 = 0.13845

Créer la fonction « gauss », correspondant au modèle:

Ajuster les données expérimentales extraite de l’image « iamc1 » et portant sur le premier « pic ».

Utiliser easyfitGUI pour un modèle nécessitant une indexation « logique »

Télécharger le fichier de données « cassure» dans:http://www.u-picardie.fr/~dellis/tdsMASTER/master_files_TdS/

Créer la fonction « droite2 » donnée ci-dessous, étudier les différentes commandes qui la constituent, identifier le rôle de chaque paramètre. Ajuster les données expérimentales du fichier « cassure ».

function y=droite2(p,x)x=x(:);logic_inf=x<=p(5);x1=x(logic_inf);logic_sup=x>p(5);x2=x(logic_sup);y1=p(1)*x1+p(2);y2=p(3)*x2+p(4);y=[y1;y2];end

top related