Programmation

Accueil

Applications

Analyse numérique des fonctions

3 Démonstrations

1 Notation Polonaise Inverse

2 Programmation

3 Démonstrations

4 Applications


3.1 - Echelon unité

  Les fonctions  y = x2  ou  y = ex  n'opposent aucune difficulté, il suffira de cliquer successivement :  X ,  ^2 , f(x) pour tracer une parabole,  ou bien  X , exp, f(x) pour tracer la fonction exponentielle. En revanche, impossible de traiter aussi simplement  la racine de x  ou son logarithme sans afficher un message d'erreur.

  L'échelon unité de Heaviside permet de limiter l'exploration aux valeurs positives de la variable : sa valeur est nulle pour x<0  et 1 pour x>0.

  Pour le programmer il suffira de diviser X par sa valeur absolue, d'ajouter 1 à ce quotient  et de diviser le tout par 2 :

 
  Après multiplication de cet échelon par x , y = 0 pour toutes valeurs négatives de x et l'instruction "Sqrt" devient légitime.
 

  Notez que pour X=0.5 les valeurs absolues de la fonction et de ses deux premières dérivées valent toutes racine de 1/2.

 
  Ce degré de précision est atteint en recourant à l'algorithme Savitzky et Golay dans le calcul des dérivées.
 

  L'emploi de l'échelon unité autorise aussi le tracé de la fonction logarithme.

  Dans l'exemple ci-contre la fonction et ses deux dérivées pour X=2 sont affichées avec 9 décimales exactes.

  Le calcul des dérivées selon la méthode Savitzky et Golay sera aberrant au voisinage de zéro.

  Il sera toujours possible de décaler l'échelon par un changement de variable ou de réaliser un créneau en soustrayant deux échelons décalés.


3.2 - Développement limité de SinX

Les valeurs numériques de Sin(x) sont données par son développement en série :

mais un développement limité aux huit premiers termes suffira pour calculer les sinus des petites valeurs de x :

  Le nombre des multiplications sera abaissé par mises en facteurs :

  L'accord avec fonction sin(x) se vérifie à 10-9 près de -2 à +2 , elle descend à 10-6 au voisinage +/- 3 , puis une divergence brutale s'amorce vers +/-5. Ainsi le premier zéro correspond à Pi avec 7 décimales exactes.


3.3 - Série de Fourier

  Un signal périodique est décomposable en une suite de sinusoïdes de fréquences croissantes.
  En acoustique, les proportions de chacune de ces contributions, les harmoniques, définissent le timbre des voix et des instruments de musique.
  Ainsi, un signal périodique rectangle correspond à une somme infinie d'harmoniques impaires.

  Dans la démonstration cette somme est limitées aux 24 premiers termes.

  Pour une meilleure lisibilité, les dérivées (courbes bleues et vertes) sont atténuées et décalées. 

  Le nombre de termes utilisés est manifestement insuffisant pour assurer la reproduction parfaite du  signal.

  En revanche, le phénomène de Gibbs se révèle parfaitement. Le premier maximum, en x= 0.067 765  culmine à 1.177 903.


3.4 - Racines d'une équation du 4ème degré

  Quatre pages sont consacrées à la recherche des racines réelles et complexes d'un polynôme, la troisième propose une application nécessitant la recherche des racines réelles d'un polynôme du 4ème degré :

  Le programme "Racines" calcule ces 4 racines avec 10 chiffres significatifs."Analyse_num" en donne déjà 7 avec la courte programmation ci-contre et les contenus mémoire :
A = -2  ,  B = -23 , C = 50 et D = -25

  La commande F(x) assure le tracé de la courbe.En plaçant les deux index X1  et X2 de part et d'autre du dernier zéro on obtient : 
"Zéro = 4.838 500 422 "
au lieu de la valeur exacte  4.838 501 160 ...
  Le déplacement de l'index rouge, X1, permettra d'afficher les autres racines en cliquant la commande "Zéro".


3.5 - Racines de x tg x = C

  La détermination de ces racines s'avère parfois nécessaire dans la résolution analytique de la diffusion de la chaleur.
  On recherchera pour cela les zéros de :  y = x tg x  - C

  Cette approximation, 1.076 869 ..  au lieu de 1.076 873 986 ... , correspond à une erreur relative de 5.10-6

  Déplacer le curseur  X1  puis cliquer "Zéro" pour afficher une autre racine.
  Modifier éventuellement la constante dans la mémoire A et effectuer un nouveau tracé en cliquant la commande f(x).


3.6 - Racines multiples

  L'algorithme Newton-Raphson , performant pour la détermination des racines simples d'une équation polynomiale s'avère moins efficace lorsqu'il s'agit de racines multiples. Dans le cas des racines triples il devient préférable d'opérer sur la dérivée seconde ( courbe verte ) qui coupe l'abscisse sous plus forte incidence que la fonction elle même.
  Ainsi, l'équation :

X6 - 3X4 + 3X2 - 1 = Y

admet deux racines triples.

 14 instructions suffisent à la programmer sous une forme plus compacte :  (( X2 - 3 ) X2  + 3 ) X2  -1 


3.7 - Calcul de Pi par intégration

  Pi peut aussi se calculer par intégration.
  Méthode inhabituelle permettant de tester l'algorithme d'intégration.

  Soit un programme de 7 instructions.

  Après positionnement de la flèche bleue en X = 1, l'intégrale donne Pi avec 10 chiffres exacts.


3.8 - Calcul de la fonction erreur par intégration

 La fonction erreur, notée erf(x), intervient en statistique et dans les processus de diffusion, le plus souvent sous la forme :

 erfc(x) = 1 - erf(x)

. Elle résulte de l'intégration d'une gaussienne et se définit par :

 

  Pour calculer erf(0.5), il suffira donc de programmer

et tracer la fonction :

 

  Et enfin d'intégrer entre X1= 0  et  X2=1.5
  L'affichage de 9 chiffres se justifie pleinement puisque le calcul par développement en série, décrit ci-dessous, donne :

erf(1,5) = 0,966 105 146

Remarque En intégrant de x à l'infini, pratiquement jusqu'à 20, on accèdera directement à erfc(x) , fonction erreur complémentaire, fréquemment utilisée en diffusion.

3.9 - Tracé de la fonction erreur par développement en série

  En intégrant de 0 à x le développement  de exp(-x2) on obtient :

  En se limitant aux petite valeurs de x ( x<1), les 7 premiers termes suffiront :

soit, pour limiter le nombre de multiplications :

  La courbe épouse la forme de la fonction erreur pour  x < 2.6  , avant de diverger brusquement, conséquence du nombre limité de termes.

  Néanmoins, la concordance avec les valeurs obtenues par intégration se vérifie sur 9 décimales jusqu'à x = 1.5 et  6 décimales jusqu'à  x = 2.

  Ainsi,

 erf(1.5) = 0.966 105 146

 atteste cette conformité.


3.10 - Coefficients du binôme

  Ils participent au dénombrement des combinaisons et figurent dans le triangle de Pascal :

  Le kième terme de la énième ligne est donné par :

  La fonction Gamma est liée aux factoriels selon la relation : 

  Ceci permet d'interpoler les coefficients d'une ligne du triangle selon la "fonction" :

  La courbe ci-contre correspond à A=5, Y prend les valeurs des coefficients du développement de ( a + b )5 pour les valeur entières de X :  1, 5, 10, 10, 5, 1


  En intégrant de X1 = -1 jusqu'à X2 = 6 comme il est fait ci-dessus, la commande "Intégration" affiche 32.022 .
  La somme des coefficients de la cinquième ligne du triangle de Pascal vaut effectivement 25 = 32


3.11 - Distribution de Poisson

  La formule de Poisson exprime la probabilité Pd'observer k évènements quand leur probabilité moyenne est k .

Exemple : 
  Dans cette série d'ordinateurs portables on constate une moyenne de 2 pixels défectueux par écran.
  Quelle est la probabilité que le vôtre soit parfait ?

  

  X correspond à k la variable discrète de la formule de Poisson.

 Les probabilités seront affichées dans la case Y des résultats : 13,5... % des écrans n'ont aucun défaut.

 Il suffira de déplacer l'index rouge ( X1 ) sur les valeurs entières de la variable pour afficher les autres probabilités : 1 , 2 , 3 ... défauts.

Remarques
- L'échelle verticale est dilatée d'un facteur 16.
- La suite d'instructions affichées est précédée de 16 autres constituant un échelon décalé.


3.12 - Gaussienne

  Contrairement aux 2 distributions  précédentes, binomiale et Poisson, une Gaussienne est une distribution continue applicable aux grands échantillonnages.

  Avec ces paramètres :  A=25 ,  XMoy =10  et un écart-type Sigma=2 , mais aussi pour toutes autres valeurs, il est facile de vérifier que :
- l'intégrale prise entre X=-5 et X=25 vaut effectivement  A
- la distance entre les points d'inflexions pour lesquels y"=0 (courbe verte) vaut  2 sigma.

  En prenant A=1 ,  XMoy = 0 , Sigma= 1 il sera tout aussi facile de déterminer la probabilité de se trouver dans un intervalle de confiance donné. Pour une distribution gaussienne, la probabilité qu'un résultat soit compris entre -nσ et +nσ est obtenue en intégrant :

  Pour accéder numériquement à cette valeur il suffira de tracer la fonction avec ces nouveaux paramètres ( A= 1 , B = 0 et C=1 ), de placer symétriquement les deux index limite, puis d’intégrer.

  En déplaçant les limites d'intégration on obtiendra :

Intervalle
+/- n écart-type

Niveau de
confiance

 1

0.682 689 492

2

0.954 499 736

3

0.997 300 204

en parfait accord avec les valeurs calculées analytiquement.


3.13 - Détection hétérodyne

  La détection hétérodyne a été introduite pour améliorer la sélectivité des récepteurs radio : la fréquence de la porteuse est abaissée à la fréquence d'un filtre unique très sélectif, en multipliant continûment le signal reçu par l'amplitude d'un oscillateur local, de fréquence ajustable en fonction de celle captée. Ceci ce justifie par la relation trigonométrique :

  Le produit des amplitudes de la porteuse et de l'oscillateur local génère deux nouvelles fréquences, somme et différence des fréquences initiales.

  Cette technique, imaginée pour la radio, s'applique aujourd'hui à l'optoélectronique et reste donc d'actualité.

  Analyse_Num permet de visualiser la suite des opérations en simulant l'utilisation d'un oscilloscope.

  S'agissant d'un simple exemple :
- l'unité de temps restera arbitraire
- les rapports de fréquences choisis dans un souci de lisibilité
- le signal audio réduit à un onde pure . 

 

  En l'absence de modulation, la station émet une onde pure à la fréquence 2,5 représentée sur le tracé supérieur.
  Si le filtre du récepteur est accordé  sur la fréquence 0,25 l'oscillateur local sera ajusté sur la fréquence    2,5+0,25 = 2,75 représentée sur le tracé intermédiaire.

  Le produit de leurs amplitudes conduit effectivement à la somme de deux sinusoïdes :
  Ce dernier tracé correspond à la programmation et les affectations mémoire ci-dessous :

   

  Le programme suivant traduit l'effet sur une porteuse modulée.

             

  Après hétérodynage, le filtre éliminera la fréquence somme, subsisteront seulement la nouvelle porteuse et sa modulation.

  L'auto-hétérodynage exploite la relation :

  Il s'obtient en ajustant parfaitement l'oscillateur locale sur la fréquence de l'émetteur afin de réaliser la détection sans redresseur. Ici, il suffira d'égaliser les constantes  A et B.


3.14 - Fonction de Fibonacci réelle

  Dans les pages consacrées aux suites récurrentes, la suite de Fibonacci est interpolée sous forme de fonctions réelles ou complexe.

  Connaissant la valeur du "nombre d'or" :

 

la fonction complexe

prend toutes les valeurs de la suite de Fibonacci pour x entier.

  Il en est de même pour la seule partie réelle :

mais, selon la parité des valeurs entières de x, l'une ou l'autre de ces fonctions prendra la valeur d'un des nombres de Fibonacci :

  D'où, en superposant les 3 courbes :

  On retrouve effectivement les nombres de Fibonacci pour les valeurs entières des 3 fonctions.

  Pour plus de détails, consulter Fonctions de Fibonacci et de Lucas


3.15 - Accord parfait

  L'accord parfait de do majeur se réalise avec les notes do mi sol , mais il existe différentes conventions pour accorder ces 3 notes.
  Dans la gamme juste (courbe bleue) leurs fréquences respectent rigoureusement les proportions :

  Dans la gamme tempérée, les rapports de fréquence entre deux demi-tons consécutifs valent tous  21/12 . Ce compromis permet d'accorder des  instrumentaux de tonalités différentes au détriment d'une justesse parfaite puisque les deux rapports précédents sont devenus incommensurables :

 La belle régularité de l'onde résultant de la somme des trois sinusoïdes s'en trouve affectée (courbe rouge).

  Cependant, grâce à cette gamme, J.S. Bach composa dans toutes les tonalités sur un "Clavier Bien Tempéré".(Prélude et Fugue N°1 en do majeur du Premier Livre  . Fichier Midi interprété par John Sankey )


Extraire la page pour l'enregistrer ou l'imprimer