Problèmes aux limites Généralités

Slides:



Advertisements
Présentations similaires
CHAPITRE 7 DROITES ET SYSTEMES.
Advertisements

Résolution Graphique d'un Programme Linéaire
Explorer un espace d’états
Cours 4-b Méthode des éléments finis 2D
Portée des variables VBA & Excel
CHAPITRE 13 Systèmes de deux équations à deux inconnues
Equations différentielles
MODULE - METHODES POTENTIELLES Contenu du cours (par J.B. Edel & P. Sailhac) : I. Propriétés physiques des roches : densités, aimantations induites et.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Equations différentielles ordinaires
Résoudre graphiquement une équation ou une inéquation simple
Equations Non Linéaires
Principes de programmation (suite)
Cours d’Automatique MASTER OIV
CHAPITRE 13 Systèmes de deux équations à deux inconnues
Géométrie vectorielle
Algorithmique et Programmation
La méthode d’Euler Objectif : résoudre une équation différentielle de façon numérique Applications en physique (en Terminale S): Résoudre une équation.
Mise en situation... m g l = 1 m l2 = 1 Positions: Vitesses:
L’objectif est de passer
Résolution des Équations Différentielles
Résoudre graphiquement f(x)≤-2
5. Echantillonnage Introduction
Équations différentielles.
Techniques d’optimisation
Rappel... Caractérisation des matrices inversibles: Matrices bloc.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Simulation distribuée et continue
Révision de math pour ECO 2012
Optimisation-Identification et Cast3M
PROGRAMMATION SCIENTIFIQUE EN C
Sémantique dénotationnelle
09/10/07 MATHÉMATIQUES FINANCIÈRES I Onzième cours.
ACT Cours 11 MATHÉMATIQUES FINANCIÈRES I Onzième cours.
ASI 3 Méthodes numériques pour l’ingénieur
Programmation linéaire en nombres entiers : les méthodes de troncature
Procédures et fonctions
Modélisation géométrique de base
Présentation de la méthode des Eléments Finis
- énergie bornée (tend vers 0 lorsque
Approche naïve de la résolution.
Digitaliser des images
La firme Les techniques à deux facteurs La demande de facteurs
ALGORITHMIQUE Nouveaux programmes de Premières Animations Mai 2011
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
ASI 3 Méthodes numériques pour l’ingénieur
Programmation linéaire en nombres entiers
Fabienne BUSSAC EQUATIONS 1. Définition
Algorithmes Branch & Bound
Résolution d’un problème de diffusion 1D
Thème: Les fonctions Séquence 1 : Généralités sur les fonctions
CHAPITRE III Calcul vectoriel
Chapitre 9 La transformée de Laplace
Matlab (Matrix Laboratory)
FONCTION DERIVEE.
ASI 3 Méthodes numériques pour l’ingénieur
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Conduction Bidirectionnelle en régime permanent
Commande optimale linéaire quadratique de Lunar Lander
Post-optimisation, analyse de sensibilité et paramétrage
Chapitre 7 Les équations différentielles d’ordre 1
Chapitre 7 Les équations différentielles d’ordre 1
Résolution des équations différentielles
Partie II : Segmentation
Les fonctions Les propriétés. Chaque fonction possède ses propres caractéristiques: Ainsi l’analyse de ces propriétés permet de mieux cerner chaque type.
A.Aarabi ´. ´ Objectifs Faciliter la prise en main du logiciel MATLAB Présenter les fonctionnalités utiles au travail scientifique.
ECHANTILLONAGE ET ESTIMATION
Composer une courte résolution de problèmes Ensemble, nous deviendrons des maîtres de la résolution de problèmes.
Simulation de robots en MATLAB Fabrice LE BARS. Simulation de robots en MATLAB 01/06/  Modélisation de systèmes avec des équations d'état Le fonctionnement.
Transcription de la présentation:

Problèmes aux limites Généralités Les problèmes aux limites sont des problèmes différentiels sur des parties de Rd 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 s’agit donc d’EDO 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 par différences finies ou, 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. \left\{\begin{matrix} y''=f(t,y,y') & pour \; t \in[a,\;b ] \\ y(a )=\alpha & y(b )=\beta\end{matrix}\right.

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 us(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) = |us(5)-40|. r(50) \left\{\begin{matrix} y''=f(t,y,y') & pour \; t \in[a,\;b ] \\ y(a )=\alpha & y'(a )=s\end{matrix}\right. CL à t=5: y(5)=40

Problèmes aux limites Méthode du « shooting »: exemple On pose w1=y et w2=y’ qui donne le système: w’1=w2; w’2=-w1 pour lequel il faut 2 conditions initiales : w1(0)=0.5 et w2(0)=s. Cette dernière devra être ajustée pour satisfaire le problème aux limites. On programme: >> f=@(t,w) [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; …pour ajuster le tir résidu résidu

Problèmes aux limites Types de fonctions, portée des variables Afin d’automatiser la recherche de la condition initiale « optimale » il faut utiliser des fonctions « d’optimisation » fournie par Matlab. On utilisera fminsearch. Définissons tout d’abord 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 n’accède qu’aux paramètres d’entré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 à l’exté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 l’exté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 d’autres SF end % Les SF ne connaissent que les variables passées (ici x) et les prédéfinies: pi, inf, … function u=sf2(x) % L’intérêt des SF est de ne sauver qu’un seul fichier qui peut contenir de nombreuse SF ….u=…

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 l’abscisse pour laquelle fun présente un minimum. ATTENTION la fonction dont fun est la poignée ne peut avoir qu’un seul argument d’entrée et un seul de sortie: elle doit donc être de la forme y=f(x). x0: une valeur initiale d’une méthode du type itératif x: la valeur pour laquelle f(x) est minimale Un troisième paramètre d’entrée peut être utilisé en conjonction avec optimset comme pour fzero, il s’agit 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 qu’on lui ….z=…+a +u… % passe (ici x) ET aux variables locales de fp (ici a, z, u, …) end % -L’intérêt des FN est justement qu’elle accède à des variables sans qu’il soit ….u=… % nécessaire de les lui passer en paramètres d’entrée …y=… % - La FN ne peut pas être appelée de l’extérieur de la FP end

Problèmes aux limites Exercice: shooting Résoudre, si possible, les problèmes suivants. Les CL devront être remplies à 0.1 prés. \left\{\begin{matrix} y''=-sin(y) & pour \; t \in[2,\;8 ] \\ y(2 )=0.5 & y(8 )=0\end{matrix}\right.

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 t’elle l’abscisse du minimum absolu dans tous les cas ? 2/ Soit la fonction paramétrée « myfun »: Que font les lignes de code suivantes: >> p=0; >> f=@(x) myfun(p, x); >> ezplot(f, [-10,10]) >> xmin=fminsearch(f, 5) >> hold on >> p=1; Pourquoi avoir créé une fonction anonyme f à chaque fois ? function y=myfun(p, x) y=-(1-x.^2).*sin(1-p*x); end

Problèmes aux limites Exercice: shooting 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. function [tsol, wsol, s]=shooting tspan=[0,10]; alpha=0; beta=4; f=@(t,w) [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 = fminsearch(@distance,-1.5); [tsol,wsol]=ode45(f,tspan,[alpha;s]);