+ All Categories
Home > Documents > PROGRAMMATION SCIENTIFIQUE EN C

PROGRAMMATION SCIENTIFIQUE EN C

Date post: 30-Dec-2015
Category:
Upload: arthur-casey
View: 43 times
Download: 0 times
Share this document with a friend
Description:
PROGRAMMATION SCIENTIFIQUE EN C. PRO-1027. Résolution de système d’équations non-linéaires (racines d’équations). Introduction Méthode de recherche directe des racines Travail pratique 2 a Recherche directe Impression dans un fichier Visualisation avec xgraph Examen 1. Introduction. - PowerPoint PPT Presentation
Popular Tags:
16
PROGRAMMATION SCIENTIFIQUE EN C PRO-1027
Transcript

PROGRAMMATION SCIENTIFIQUE EN C

PRO-1027

Résolution de système d’équations non-linéaires (racines d’équations)

Introduction Méthode de recherche directe des racines Travail pratique 2 a

– Recherche directe

– Impression dans un fichier

– Visualisation avec xgraph Examen 1

Introduction

Les équations non-linéaires peuvent être exprimées sous une forme, f(x) = 0

Les valeurs de x qui satisfont f(x) = 0, sont les raci-nes et représentent par le fait même les solutions

Introduction

Introduction

Pour des fonctions simples, les racines peuvent être trouvées de façon analytique

Pour un polynôme de degré 2:

a

acbbx

a

acbbx

cbxax

2

4

2

4

0

2

2

2

1

2

Introduction

Les racines d’un polynôme de degré 3 peuvent aussi être déduites de manière analytique

Pour des polynômes de degré supérieur, il faut utiliser des méthodes numériques de localisation des racines puisqu’aucune solution analytique existe

La plupart des fonctions non-linéaires, non-poly-nômiales requièrent aussi l’utilisation d’algorith-mes numériques de recherche de zéros de fonctions

Méthode de recherche directe

Nous pouvons trouver les racines d’une fonction non-linéaire par une approche essai et erreur par laquelle la fonction f(x) est évaluée à plusieurs points sur un intervalle [a,b] sur l’axe x jusqu’à ce que f(x) = 0

Mais la chance de trouver les racines exactes est faible

Par contre, nous savons qu’une estimation des valeurs des racines est souvent suffisante

Méthode de recherche directe

La méthode directe est la plus facile mais aussi la moins efficace

Les étapes de cette méthode sont:– Définir un intervalle [a,b] à l’intérieur duquel nous

devrions trouver les racines

– Subdiviser l’intervalle [a,b] en sous-intervalles plus petits et uniformément espacés. La dimension des sous-intervalles est fonction de la précision recher-chée

Méthode de recherche directe

Les étapes de cette méthode sont:– Parcourir chaque sous-intervalle jusqu’à ce qu’un

sous-intervalle contenant une racine soit localisé. Ceci survient quand f(x) = 0 dans un sous-intervalle

Nous pouvons déterminer la présence d’une racine dans un sous-intervalle [A,B] en déteminant si f(A)f(B) < 0

Méthode de recherche directe

Méthode de recherche directe

Algorithme de recherche directeracineDIR(float a, float b, float eps)

nint = (int)((b-a)/eps) + 1

deltax = (b-a)/(float)(nint)

xd = a

xf = xd + deltax

POUR i allant de 1 à nint FAIRE

fxd = F(xd)

fxf = F(xf)

SI (fxd*fxf <= 0) FAIRE

Imprimer l’intervalle [xd,xf]

FIN SI

xd = xf

xf = xd + deltax

FIN POUR

Méthode de recherche directe

Algorithme de recherche directe – Problèmes possibles (racines multiples et discon-

tinuitées

Travail pratique 2 a

Utilisation de la recherche directe

Travail pratique 2 a

Utilisation de la recherche directe

0sin

cos

)(sin

)cos(

sin)sin()(

sin

sin

21

22

1221

12

21

C

Cw

CA

CAw

dC

dl

C

w

CA

wllCl

CABC

wl

B

wl

Travail pratique 2 a

Impression dans un fichier

void ecrireFONCTION(float *f, float *x, char *argv[])

{

int i;

FILE *fptr;

fptr = fopen(argv[ ], ’ ’w ’ ’);

for(i=0;i<=NBVAL;i++)

fprintf(fptr, ’ ’%f  %f \n ’ ’,x [i],f[i]);

fclose(fptr);

}

Travail pratique 2 a

Visualisation avec xgraph

xgraph fich


Recommended