analysenumériquepouringénieurs cinquièmeédition ... · méthode de newton en une variable pour...

23
Analyse numérique pour ingénieurs Cinquième édition Utilisation de Matlab André Fortin Professeur titulaire GIREF Département de mathématiques et de statistique Université Laval 31 août 2016

Upload: lenhan

Post on 30-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Analyse numérique pour ingénieurs

Cinquième édition

Utilisation de Matlab

André FortinProfesseur titulaire

GIREFDépartement de mathématiques et de statistique

Université Laval

31 août 2016

ii

Table des matières

1 Généralités sur Matlab 11.1 Installation de départ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Commandes de base utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Fichiers SCRIPT de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Fichiers FUNCTION de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Programmes spécifiques au cours d’analyse numérique 32.1 Programmes du chapitre 1. Analyse d’erreurs . . . . . . . . . . . . . . . . . . . . . . 32.2 Programmes du chapitre 2. Équations non linéaires . . . . . . . . . . . . . . . . . . . 52.3 Programmes du chapitre 3. Systèmes d’équations . . . . . . . . . . . . . . . . . . . . 72.4 Programmes du chapitre 5. Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . 82.5 Programmes du chapitre 6. Dérivation et intégration . . . . . . . . . . . . . . . . . . 92.6 Programmes du chapitre 7. Équations différentielles . . . . . . . . . . . . . . . . . . 10

iii

iv Table des matières

Chapitre 1

Généralités sur Matlab

Ce texte est une très brève introduction à l’utilisation de Matlab pour le cours d’analyse nu-mérique pour ingénieurs. Idéalement, vous devriez lire ce document assis devant votre ordinateurpour essayer les commandes proposées. Le temps que vous mettrez à lire cette introduction vouspermettra sans doute de réaliser beaucoup plus vite les devoirs.

1.1 Installation de départPlusieurs des méthodes décrites dans le livre sont disponibles sous forme de programmes dans

le langage Matlab. Ces programmes sont disponibles à l’adresse :

http://www.giref.ulaval.ca/afortin/livre-ananum.html

Tous les codes MATLAB se trouvent dans l’archive zip nommée MATLAB.zip. Vous devezenregistrer le fichier zip dans votre compte informatique ou dans votre ordinateur personnel etdécompresser l’archive. Cette archive contient les fichiers et répertoires suivants :

MATLAB/READMEMATLAB/README.LinuxMATLAB/README.Win_FSGMATLAB/README.Win_MatMATLAB/README.Win_PCMATLAB/startup.mMATLAB/exemples_fonctions/MATLAB/programmes_matlab_analyse_numerique/MATLAB/travail/

Les programmes principaux se trouvent dans le dossier :

programmes_matlab_analyse_numerique

Ces programmes nécessitent l’utilisation de fonctions dont on trouvera des exemples dans le dossier :

1

2 Chapitre 1

exemples_fonctions

Initialement, le dossier nommé

travail

est vide. Vous pouvez travailler dans ce répertoire pour modifier les programmes fournis ou créervos propres fonctions MATLAB. En travaillant dans ce répertoire vous éviterez de modifier oud’effacer par erreur l’un des programmes fournis.

Pour utiliser efficacement ces programmes MATLAB il faut prendre quelques minutes pour confi-gurer votre environnement informatique. Il faut lire attentivement le contenu du fichier READMEde l’archive zip et choisir la configuration appropriée à votre environnement informatique personnel.Ce fichier va vous aiguiller selon votre situation :

— Si vous travailler avec le système d’exploitation Windows 7 et votre compte informatique dela FSG : lire le fichier README.Win_FSG

— Si vous travailler avec la machine virtuelle Windows 7 dans le laboratoire informatiqueVCH-1069 : lire le fichier README.Win_Mat

— Si vous utilisez MATLAB avec votre ordinateur personnel et le système d’exploitation Win-dows : lire le fichier README.Win_PC

— Si vous travaillez sous Linux : lire le fichier README.LinuxComme dernière étape, il est fortement conseillé de créer un fichier Matlab spécial appelé «star-

tup.m» qui indiquera à Matlab où se trouvent vos fichiers. Tout est clairement indiqué dans lefichier «startup.m» fourni où vous devez décommenter les lignes correspondant à votre situation.C’est facile et rapide.

Si tout va bien, vous avez maintenant accès à tous les programmes. Pour vous en assurer, tapezl’instruction suivante dans la fenêtre commande de MATLAB (Command Window)

>> help newton

et vous devriez obtenir le résultat suivant :

Méthode de Newton en une variable pour résoudre f(x) = 0Programmeur: A. Fortin (4 avril 1996)Référence: Analyse numérique pour ingénieurs, A. Fortin,

Presses internationales Polytechnique, 2011Section 2.4

...

Si vous obtenez

newton not found.

il faut s’assurer que le contenu du fichier startup.m est approprié et qu’il a bien été exécuté àl’ouverture du logiciel MATLAB.

Généralités sur Matlab 3

1.2 Commandes de base utilesVoici quelques commandes utiles que vous devez connaître pour utiliser Matlab.help : La commande help donne une liste des répertoires des fonctions Matlab, tandis que

la commande help sujet donne de l’information sur un répertoire, une commande ou unefonction particulière.

format : Il y a plusieurs types de format d’affichage dans Matlab. Voici ceux que l’on utilisele plus couramment. Ainsi, suivant le format, 4/3 s’écriera :

format short (c’est le format qui est donné par défaut) (1.3333)format short e (1.3333e+00)format long (1.33333333333333)format long e (1.33333333333333e+00)format compact (comprime l’affichage à l’écran)

size : Pour connaître la dimension de la variable A (qui peut être une matrice, un vecteur ouun scalaire), on tape la commande size(A).

plot : Si x et y sont deux vecteurs de même longueur, alors la fonction plot(x, y) tracera ungraphique du vecteur y en fonction du vecteur x. La commande «help plot» permettra devoir comment mettre de la couleur, des symboles, etc.

print : Cette commande permet d’imprimer un graphique Matlab.Le point-virgule ( ;) : Le fait de mettre un point-virgule ( ;) à la suite d’une commande

Matlab empêche l’affichage à l’écran des résultats de celle-ci. Pour débugger un programme,il est souvent utile d’enlever le point virgule pour voir ce qui se passe.

1.3 Fichiers SCRIPT de MatlabLes fichiers SCRIPT de Matlab sont simplement des fichiers de texte (ASCII) que vous pouvez

créer avec l’éditeur de Matlab et que vous nommez comme vous le voulez, mais avec un suffixe «.m».L’éditeur de Matabl ajoutera ce suffixe automatiquement. Ces fichiers sont utiles pour pouvoir écrireun programme complet dans un même fichier que l’on peut conserver. Cela permet ainsi de corrigerfacilement au besoin un programme tout en évitant de devoir entrer toutes ses commandes une parune à chaque utilisation.

Une remarque importante au sujet de Matlab est que ce logiciel considère toutes les variablescomme des matrices. Il ne faut donc pas s’étonner que Matlab respecte scrupuleusement les règlessur les produits matriciels et les produits matrice-vecteur. On peut ainsi additionner des vecteurspourvu qu’ils soient de même dimension, faire le produit de deux matrices si elles sont compatibles.Il est très simple de manipuler des vecteurs et des matrices dans Matlab.

>> b = [1 2 3]

b =

1 2 3>> A = [1 2 3; 4 5 6; 7 8 9]

4 Chapitre 1

A =

1 2 34 5 67 8 9

On a ainsi le vecteur b (1 par 3) et la matrice A (3 par 3). Si on essaie le produit A ∗ b

>> A*bError using *Inner matrix dimensions must agree.

car le produit n’est pas compatible. Par contre, le vecteur transposé (de dimension 3 par 1) feral’affaire et on peut faire l’opération A ∗ b′ :

A*b’

ans =

143250

Il existe aussi des opérateurs qui agissent terme à terme sur les vecteurs et les matrices et quisont très utiles en pratique. On les note

.^ .* et ./

On peut ainsi multiplier terme à terme deux vecteurs ou deux matrices ayant exactement les mêmesdimensions :

>> b = [1 2 3] ;>> c = [-1 2 -3];>> b.*c

ans =

-1 4 -9>> b./c

ans =

-1 1 -1>> b.^3

ans =

Généralités sur Matlab 5

1 8 27>> cos(b)

ans =

5.403023058681398e-01 -4.161468365471424e-01 -9.899924966004454e-01

Ces opérations n’auraient aucun sens autrement. L’utilisation de ces opérations permet de mani-puler des vecteurs et des matrices très efficacement. Il faut toutefois être conscient que ce ne sontpas des opérations matricielles ou vectorielles classiques. Par exemple :

>> b^3Error using ^Inputs must be a scalar and a square matrix.To compute elementwise POWER, use POWER (.^) instead.

n’a pas de sens puisque l’on ne peut mettre un vecteur au cube.Nous présentons maintenant deux exemples de fichiers SCRIPT de Matlab que vous pouvez

essayer de reproduire dans votre répertoire de travail.1. Le fichier SCRIPT suivant calcule la précision machine ε (voir l’exemple du chapitre 1).

% Fichier precision.m% -----------------% Ce programme MATLAB calcule la precision machine% (voir l’algorithme 1.1 page 17 du livre)%

epsilon = 1.0;while (1.0 + epsilon) > 1.0

epsilon = epsilon / 2.0;end

% On remultiplie par 2epsilon = epsilon * 2.0

%

Une fois ce fichier créé et sauvegardé, il suffit pour l’exécuter sur Matlab d’entrer :>> precision

et toutes les commandes contenues dans le fichier seront exécutées. Vous avez ensuite accès àtoutes les variables qui ont été définies dans le fichier SCRIPT. On dit de ces variables qu’ellessont globales. C’est exactement comme si vous aviez tapé chaque commande à l’écran. Parexemple, la variable epsilon est accessible en entrant :>> epsilonepsilon =

2.2e-16

6 Chapitre 1

2. Le fichier SCRIPT suivant permet de dessiner la courbe paramétrée :

(x1(t), x2(t)) =(cos t

t,sin tt

)dans l’intervalle [π, 20π] par incrément de π/16 et qui décrit une spirale.% Fichier spirale.m% -----------------% Ce programme MATLAB dessine une spirale%% Le vecteur t va de pi à 20pi par incrément de pi/16

t = pi: pi/16: 20*pi;%

x1 = cos(t) ./ t; Noter l’utilisation de l’opération ./x2 = sin(t) ./ t;

%% Le graphique%

plot(x1,x2,’r’)% Le titre du graphique et la signification des axes%

title(’Spirale’)xlabel(’x1 = cos t / t’)ylabel(’x2 = sin t / t’)

%

Pour exécuter :>> spirale

ce qui produira la figure 1.1. Les variablest, x1, x2

sont maintenant disponibles et l’on peut poursuivre les calculs.

1.4 Fichiers FUNCTION de MatlabOn a souvent besoin de manipuler des fonctions mathématiques plus ou moins complexes. Les

fonctions trigonométriques, exponentielles, logarithmiques de même qu’une grande variété d’autresfonctions sont disponibles directement dans matlab.

On peut aussi créer nos propres fonctions. Pour les fonctions simples, il est préférable de créerdes fonctions dites «anonymes» dont la syntaxe est :

f_anonym = @ (x) x.^2 -2

pour une fonction d’une variable ou encore

f_anonym2 = @ (x,y) x.^2 + y.^2 -2

Généralités sur Matlab 7

Figure 1.1 – Exemple de figure

pour une fonction de deux variables. On peut ensuite les utiliser par la commande :

>> a = f_anonym(3)

a =

7>> b = f_anonym2(1,2)

b =

3>> vec1 = [1 2 3] ;>> vec2 = [4 5 6] ;>> f_anonym(vec1)

ans =

-1 2 7>> f_anonym(vec1,vec2)

ans =

15 27 43

On notera que l’utilisation du produit «.*» dans les définitions permet de prendre des vecteurs enarguments.

8 Chapitre 1

Pour les fonctions plus complexes, on doit créer un fichier FUNCTION. À la différence desfichiers SCRIPT de Matlab, les fichiers FUNCTION ont une syntaxe plus rigoureuse. En effet, toutcomme pour une fonction mathématique, un fichier FUNCTION possède des arguments d’entrée etdes arguments de sortie. Pour pouvoir utiliser un fichier FUNCTION, il suffit de créer à l’aide del’éditeur de Matlab un fichier texte (ASCII) que vous pouvez nommer comme vous voulez pourvuqu’il soit muni du suffixe «.m» tout comme pour les fichiers SCRIPT.

Par exemple, si l’on veut utiliser la fonction mathématique f(x) = x2, on peut éditer un fichiernommé par exemple «fonc.m» qui s’écrit :

% Un exemple de fichier FUNCTION% ------------------------------

function y = fonc(x)y = x .^ 2;

et le tour est joué. Il est préférable d’utiliser le même nom de fichier que celui de lafonction elle-même.

Remarquez la syntaxe de la première ligne (après les 2 lignes de commentaires) qui doit abso-lument être respectée. Notez ici encore l’utilisation de l’opérateur «.^» qui permettra d’utiliser unvecteur comme argument d’entrée x. Il est d’ailleurs recommandé de toujours utiliser les opérateurs :

.^ .* et ./

dans la définition des fichiers FUNCTION sauf si effectivement on y utilise des produits matricielsclassiques.

Pour utiliser la fonction du fichier «fonc.m», il suffit d’entrer au clavier :

» fonc(2)ans =

4

On peut aussi placer le résultat dans une autre variable :

» b = fonc(5)b =

25

ou encore puisque l’on peut utiliser des vecteurs :

» vecteur = [ 1 2 3];» reponse = fonc(vecteur)reponse =

1 4 9

qui est également un vecteur.À la différence des fichiers SCRIPT, les variables à l’intérieur d’un fichier FUNCTION ne sont

pas disponibles à l’extérieur. On dit qu’elles sont locales. Si l’on essaie d’obtenir la valeur desvariables locales x et y :

Généralités sur Matlab 9

» x??? Undefined function or variable x.» y??? Undefined function or variable y.

Matlab ne les reconnaît pas.La syntaxe plus générale des fichiers FUNCTION est la suivante :

function [y1, y2, y3, ... yn] = fonc2(x1,x2,x3,... xm)

et l’ on a une fonction de m arguments d’entrée et de n arguments de sortie. Par exemple, dans lefichier «cercle.m», on a programmé le périmètre et l’aire d’un cercle en fonction de son rayon :

function [peri, aire] = cercle(R)%% argument d’entrée:% le rayon: R% arguments de sortie:% le périmètre: peri% l’aire: aire

peri = 2 * pi * R;aire = pi * R.^2;

Pour utiliser cette fonction, il n’est pas nécessaire d’utiliser les mêmes noms de variables queceux utilisés dans le fichier FUNCTION lui-même. Il suffit de s’assurer qu’il y a le même nombred’arguments d’entrée et de sortie. On peut se servir de cette fonction en écrivant par exemple :

[y1, y2] = cercle(3)y1 =

18.8496

y2 =28.2743

Notez que les variables peri, aire et R sont locales. Par contre, les variables y1 et y2 sont biendéfinies et contiennent respectivement le périmètre et l’aire du cercle. On aurait pu aussi écrire :

» rayon = 5;» [per, surf] = cercle(rayon)per =

31.4159

surf =78.5398

Ce sont maintenant les variables per, surf et rayon qui sont définies (les variables y1, y2 lesont aussi à moins qu’on ne les ait effacées).

En terminant, notons que, dans un fichier FUNCTION, on ne programme que le strict nécessaireau calcul des variables de sortie en fonction des variables d’entrée. Il ne faut pas y mettre de

commandes superflues. Par exemple, dans la définition de la FUNCTION «fonc.m», si l’on ajoutedes commandes pour tracer cette fonction dans l’intervalle [0, 5], chaque fois que le fichier «fonc.m»sera appelé, un graphique sera produit, ce qui peut devenir gênant. Si l’on souhaite tracer cettefonction, on créera plutôt un fichier SCRIPT «tracer.m» de la forme :

% Fichier tracer.m%% Partition de l’intervalle [0,5]

x = 0 : 0.01 : 5.0 ;% Evaluation de la fonction sur tout le vecteur x

y = fonc(x);% Graphique de la fonction

plot(x,y, ’-’)

qui produira le graphique souhaité.Notons enfin que les algorithmes pour le cours d’analyse numérique ont été programmés à l’aide

de fichiers FUNCTION : bissect.m, newton.m, etc.

2 Chapitre 1

Chapitre 2

Programmes spécifiques au coursd’analyse numérique

Tous les programmes fournis fonctionnent essentiellement de la même manière, avec des argu-ments d’entrée et de sortie qui varient suivant la méthode. Un simple copier-coller des exemplesd’appel (obtenu à l’aide la commande «help») est souvent suffisant pour les utiliser. Vous pouvezaussi vous inspirer des programmes fournis pour créer vos propres applications dans Matlab.

2.1 Programmes du chapitre 1. Analyse d’erreursIl n’y a pas de programme spécifique au chapitre 1. Nous soulignons simplement deux points

importants.Notation IEEE On notera que Matlab travaille en double précision en respectant la notation

IEEE. Vous pouvez essayer des commandes comme :>> 1/0

ans =

Inf>> 0/0

ans =

NaN

eps C’est une variable interne de Matlab qui contient la précision machine (en double précision).>> eps

ans =

3

4 Chapitre 2

2.220446049250313e-16

L’exemple de la section 1.3 illustre comment créer un fichier SCRIPT pour déterminer laprécision machine.

Programmes spécifiques 5

2.2 Programmes du chapitre 2. Équations non linéaires1. Méthode de la bissection :

bissection.m

2. Méthode des points fixes :points_fixes.m

3. Méthode de Newton :newton.m

4. Méthode de la sécante :secante.m

5. Méthode de Steffenson :steffenson.m

Les méthodes de la bissection, de Newton et de la sécante nécessitent de définir la fonction f(x)dont on cherche les racines. La fonction :

fonc.m

en est un exemple. Rappelons que la méthode de Newton nécessite aussi la dérivée de la fonction :

derivee_fonc.m

dont on trouvera des exemples dans le répertoire :

exemples_fonctions

On peut aussi utiliser des fonctions dites «anonymes» dont la syntaxe pourrait être :

f_anonym = @ (x) x.^2 -2

pour la fonction et

f_anonym_der = @ (x) 2*x

pour sa dérivée.Les méthodes des points fixes et de Steffenson utilisent une fonction g(x) comme dans le fichier :

g.m

dont on trouvera aussi un exemple au même endroit.Pour obtenir l’aide en ligne dans le logiciel Matlab, il suffit d’utiliser la commande «help» suivi

du nom du programme matlab (sans le suffixe .m), comme par exemple

help newton

du chapitre 2 qui fera apparaître :

6 Chapitre 2

Méthode de Newton en une variable pour résoudre f(x) = 0Programmeur: A. Fortin (4 avril 1996)Référence: Analyse numérique pour ingénieurs, A. Fortin,

Presses internationales Polytechnique, 2011Section 2.4

Exemples d’appel:

[x, err] = newton(’fonc’, ’derivee_fonc’, 2.0, 10, 1.0e-6)[x, err] = newton(’fonc’, ’derivee_fonc’, 2.0, 10, 1.0e-6, ’resul.dat’)

Si vous avec une fonction anonyme (@) (on ne met pas les apostrophes)[x, err] = newton(f_anonyme, df_anonyme, 2.0, 10, 1.0e-6)[x, err] = newton(f_anonyme, df_anonyme, 2.0, 10, 1.0e-6, ’resul.dat’)Arguments

Entree:1) f: Le nom entre apostrophes (’ ’) du fichier .m contenant la fonction f(x).

comme par exemple ’fonc’ (correspondant à un fichier fonc.m)ou encore le nom de la fonction anonyme comme par exemplef_anonyme = @(x) x*x - 2.;

2) df: mêmes indications qu’au point 1 mais pour la dérivée de la fonction;3) x0: Vous devez fournir un estimé initial.4) nmax: Vous devez fournir le nombre maximal d’itérations.5) epsilon: Vous devez fournir le critère d’arrêt.6) resul: Si vous voulez les résultats dans un fichier, vous

devez fournir le nom entre apostrophes (’ ’) de ce fichier.Exemple: ’resul.dat’ qui créera un fichier nommé resul.dat.

Retour:1) x est un vecteur contenant les différentes itérations.2) S’il y a convergence, err est le vecteur dont les composantes sont |x_n - r|,

r étant la racine trouvée. Sinon, err est une matrice vide.

Il suffit donc de modifier à votre guise les arguments pour résoudre un problème à l’aide de laméthode de Newton.

Programmes spécifiques 7

2.3 Programmes du chapitre 3. Systèmes d’équationsMatlab possède sa fonction propre pour la décomposition LU . On peut l’appeler par la com-

mande :

[P, L, U] = lu(A)

On peut résoudre un système linéaire de la forme Ax = b à l’aide des commandes :

b1 = P*b; % Permutation du vecteur by = L\b1; % Système triangulaire inférieurx = U\y; % Système triangulaire inférieur

ou de manière encore plus concise par la commande :

x = A\b ;

qui fait toutes ces opérations d’un seul coup. On peut aussi calculer le déterminant d’une matricepar la commande :

det(A) ;

sa norme par la commande :

norm(A,1) ou norm(A,inf);

son conditionnement par la commande :

cond(A,1) ou cond(A,inf);

et son inverse par :

inv(A) ;

Nous vous fournissons de plus un programme pour la méthode de Newton pour les systèmes :

systeme_non_lineaire.m

On peut voir un exemple de système non linéaire dans le fichier

sys.m

8 Chapitre 2

2.4 Programmes du chapitre 5. Interpolation1. Le polynôme de Newton :

polynome_newton.m

2. La spline cubique :spline_cubique.m

Utiliser la commande «help» pour voir comment les utiliser. Par exemple :

>> x = [0 1 2 3];>> y = [1 2 9 28];>> eval = [0 : 0.01: 3];>> [c, a, D, fx] = polynome_newton(x, y, eval);>> plot(eval, fx)

calculera le polynôme de Newton dont les xi sont dans le vecteur x, les yi dans le vecteur y. Lepolynôme sera évalué sur une partition de l’intervalle [0, 3] par incrément de 0,01. Les valeursinterpolées sont placées dans le vecteur fx et on peut ensuite tracer le polynôme.

Programmes spécifiques 9

2.5 Programmes du chapitre 6. Dérivation et intégration1. Méthode des trapèzes :

int_trapezes.m

2. Méthode de Simpson 1/3 :int_simpson13.m

3. Méthode de Simpson 3/8 :int_simpson38.m

4. Méthode de Boole :int_boole.m

5. Méthode de Romberg :int_romberg.m

6. Méthode de Gauss-legendre :int_gauss.m

7. Méthode des splines cubiques :int_spline_cubique.m

Toutes ces méthodes utilisent un fichier contenant la fonction à intégrer comme le fichier «fonc.m»,ou encore une fonction anonyme ou encore, un vecteur contenant les valeurs de la fonction auxpoints d’intégration. Utiliser la commande «help» pour voir comment les utiliser.

Par exemple :

>> fn = @ (x) sin(x);>> I = int_trapezes(fn, 0, pi/2, 8)I =

9.967851718861696e-01>> I = int_simpson13(fn, 0, pi/2, 8)

I =

1.000008295523968e+00

a calculé l’intégrale de la fonction y = sin(x) dans l’intervalle [0, π/2] avec 8 sous-intervalles enutilisant respectivement les méthodes des trapèzes et Simpson 1/3.

10 Chapitre 2

2.6 Programmes du chapitre 7. Équations différentielles1. Méthode d’Euler explicite :

euler_explicite.m

2. Méthode d’Euler modifiée :euler_modifiee.m

3. Méthode du point milieu :point_milieu.m

4. Méthode du Runge-Kutta d’ordre 4 :runge_kutta4.m

5. Méthode de tirtir.m

6. Méthode de tir non linéairetir_non_lineaire.m

Toutes les méthodes de résolution d’équations différentielles ont besoin de connaître la fonctionf(t, y). On peut créer des fonctions anonymes ou encore, on trouvera un exemple dans le fichier

eq_diff.m

dans le cas d’une équation différentielle ou encore :

systeme_eq_diff.m

pour un système.Par exemple :

>> fn = @(t,y) -y + t + 1;>> [t,y] = euler_explicite(fn, 0.0, [1], 0.1, 10)

résoudra l’équation différentielle y′(t) = −y + t + 1 sous la condition y(0) = 1. On fera 10 pas delongueur 0,1.

La méthode de tir linéaire utilise les fonctions :

a0.m, a1.m, a2.m

tandis que la variante non linéaire utilise un fichier :

systeme_tir.m

dont vous trouverez des exemples dans le répertoire «exemples_fonctions». La commande «typea0» permet par exemple de voir le contenu de la fonction «a0.m».