La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Problèmes aux limites Généralités Les problèmes aux limites sont des problèmes différentiels sur des parties de R d pour lesquelles les valeurs de la fonction.

Présentations similaires


Présentation au sujet: "Problèmes aux limites Généralités Les problèmes aux limites sont des problèmes différentiels sur des parties de R d pour lesquelles les valeurs de la fonction."— Transcription de la présentation:

1 Problèmes aux limites Généralités Les problèmes aux limites sont des problèmes différentiels sur des parties de R d pour lesquelles les valeurs de la fonction inconnue sont fixés sur les limites (les bords) de ces parties. Ces valeurs sont appelées valeurs aux limites. Ce chapitre est restreint aux problèmes de dimension d=1 *. Il sagit donc dEDO mais ce ne sont pas des problèmes de Cauchy. Un exemple est léquation suivante (y est la fonction inconnue, f est donnée): La résolution de tels problèmes se réalise par approximation i)par différences finies ou, ii)par éléments finis (méthode étudiée au Semestre 6). Dans ce chapitre nous verrons la méthode par différences finies dite du « shooting ». * Les problèmes avec d>1 sont appelés équations aux dérivées partielles.

2 Problèmes aux limites Méthode du « shooting » La méthode du shooting cherche à résoudre le problème comme un problème à conditions initiales en faisant varier ces dernières jusquà ce que les conditions aux limites (CL) soient remplies. Exemple: Soit u s (t) la solution numérique trouvée en utilisant la condition initiale s. On cherche la valeur s qui minimise la « distance » appelée résidu: r(s) = |u s (5)-40|. CL à t=5: y(5)=40 r(50)

3 Problèmes aux limites Méthode du « shooting »: exemple On pose w 1 =y et w 2 =y qui donne le système: w 1 =w 2 ; w 2 =-w 1 pour lequel il faut 2 conditions initiales : w 1 (0)=0.5 et w 2 (0)=s. Cette dernière devra être ajustée pour satisfaire le problème aux limites. On programme: >> [w(2); -w(1)]; >> s=0; >> [tsol, wsol]=ode45(f, [0, 10], [0.5, s]); >> plot(tsol, wsol(:, 1)) On essaie s=-1… >> s=-1; >> [tsol, wsol]=ode45(f, [0, 10], [0.5, s]); >> plot(tsol, wsol(:, 1)) …pour ajuster le tir résidu

4 Problèmes aux limites Types de fonctions, portée des variables Afin dautomatiser la recherche de la condition initiale « optimale » il faut utiliser des fonctions « doptimisation » fournie par Matlab. On utilisera fminsearch. Définissons tout dabord quelques propriétés des fonctions et la portée de leurs variables. fonctions principales: fonction principale (FP) et sous-fonctions (SF): function y=fp(x) ….% - Elle présente en général des commentaires expliquant les détails nécessaire à sa maintenance z= …* x +… % - Elle naccède quaux paramètres dentrée (ici x) et aux variables prédéfinie dans Matlab ….% telles que pi, inf, eps, … y = …% - Elle peut posséder des variables « locales » (ici z) qui restent inconnues à lextérieur de la fonction ….% - Elle calcule les paramètres de sortie (ici y) end% - Elle peut faire appel à des fonctions extérieures et leur passer des paramètres function y=fp(x)% Ces 3 fonctions sont sauvées dans un même fichier « fp.m » …. z=sf1(x)% La FP peut appeler une de ses SF …y=… % La FP peut être appelée de lextérieur qui pourra récupérer y end function z=sf1(x) ….z=…% Les SF ne peuvent être appelées que de la FP ou dautres SF end% Les SF ne connaissent que les variables passées (ici x) et les prédéfinies: pi, inf, … function u=sf2(x)% Lintérêt des SF est de ne sauver quun seul fichier qui peut contenir de nombreuse SF ….u=… end

5 Problèmes aux limites Fonctions nichées, fminsearch fonction principale (FP) et fonctions nichées (FN): La fonction fminsearch possède 2 entrées et une sortie: x = fminsearch(fun, x0) avec : fun: la poignée de la fonction dont on cherche labscisse pour laquelle fun présente un minimum. ATTENTION la fonction dont fun est la poignée ne peut avoir quun seul argument dentrée et un seul de sortie: elle doit donc être de la forme y=f(x). x0: une valeur initiale dune méthode du type itératif x: la valeur pour laquelle f(x) est minimale Un troisième paramètre dentrée peut être utilisé en conjonction avec optimset comme pour fzero, il sagit des options. Pour notre méthode de « shooting » il nous faut minimiser le résidu… function y=fp(x)% cette fonction est sauvée dans un fichier « fp.m » …. z=fn(x) ….a=… function z=fn(x)% - Cette fonction est « nichée » dans fp. Elle accède aux variables quon lui ….z=…+a +u…% passe (ici x) ET aux variables locales de fp (ici a, z, u, …) end% -Lintérêt des FN est justement quelle accède à des variables sans quil soit ….u=…% nécessaire de les lui passer en paramètres dentrée …y=…% - La FN ne peut pas être appelée de lextérieur de la FP end

6 Problèmes aux limites Exercice: shooting Résoudre, si possible, les problèmes suivants. Les CL devront être remplies à 0.1 prés.

7 Problèmes aux limites Exercice: fminsearch 1/ Représenter y= (1-x.^2).*sin(1-x) dans le domaine [-10, 10]. Chercher les abscisses des minimas de y en utilisant fminsearch avec différentes valeurs initiales. fminsearch trouve telle labscisse du minimum absolu dans tous les cas ? 2/ Soit la fonction paramétrée « myfun »: Que font les lignes de code suivantes: >> p=0; >> myfun(p, x); >> ezplot(f, [-10,10]) >> xmin=fminsearch(f, 5) >> hold on >> p=1; >> myfun(p, x); >> ezplot(f, [-10,10]) >> xmin=fminsearch(f, 5) Pourquoi avoir créé une fonction anonyme f à chaque fois ? function y=myfun(p, x) y=-(1-x.^2).*sin(1-p*x); end

8 function [tsol, wsol, s]=shooting tspan=[0,10]; alpha=0; beta=4; [w(2); sqrt(t)-0.1*w(1).^2-0.2*w(2)]; function residu=distance(ci) [t, w]=ode45(f, tspan, [alpha;ci]); residu=abs(beta-w(end,1)); end s = [tsol,wsol]=ode45(f,tspan,[alpha;s]); end Problèmes aux limites Les lignes de code ci-dessous résolvent un problème aux limites par la méthode du shooting. Commenter ce programme. Proposer une amélioration pour par exemple résoudre les problèmes de la diapo précédente. Exercice: shooting


Télécharger ppt "Problèmes aux limites Généralités Les problèmes aux limites sont des problèmes différentiels sur des parties de R d pour lesquelles les valeurs de la fonction."

Présentations similaires


Annonces Google