Les Snippets

Connexion

INTERPOLATION POLYNOMIALE

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 07/02/2008 00:28:34 et initié par us_30 [Liste]
Date de mise à jour : 07/02/2008 23:55:57
Vue : 2201
Catégorie(s) : Maths
Langages dispo pour ce code :
- VB6, VBA
- ObjectiveCaml



Langage : VB6 , VBA
Date ajout : 07/02/2008
Posté par us_30 [Liste]
 
Function Interpoly(x() As Double, y() As Double, Xp As Double) As Double 
'   INTERPOLATION POLYNOMIALE de même degré que le nb de points données (x,y) 
'   par la methode de Aitken. Renvoi yp pour xp donné quelconque. 
 
'   Paramètres 
    Dim n As Long, j As Long, i As Long 
 
'   Algo 
    n = UBound(y) 
    For j = 1 To n - 1 
        For i = j + 1 To n 
            y(i) = (y(j) * (x(i) - Xp) - y(i) * (x(j) - Xp)) / (x(i) - x(j)) 
        Next i 
    Next j 
 
'   Renvoi 
    Interpoly = y(n) 
 
End Function

Sub Test() ' TEST (avec l'équation particulière y=x^2) ' Paramètres Dim ValeurX() As Double Dim ValeurY() As Double Dim Tempo1() As String Dim Tempo2() As String Dim Nb As Long, t As Long Dim Xp As Double ' Valeurs connues Tempo1 = Split("1 2 4 8") ' les Xi Tempo2 = Split("1 4 16 64") ' les Yi ' Conversion des valeurs en numériques Nb = UBound(Tempo1) ReDim ValeurX(Nb), ValeurY(Nb) For t = 1 To Nb ValeurX(t) = CDbl(Tempo1(t - 1)) ValeurY(t) = CDbl(Tempo2(t - 1)) Next t ' Valeur interpolée pour xp = 10 Xp = 10 MsgBox "pour x=" & Xp & " y=" & Interpoly(ValeurX, ValeurY, Xp) End Sub
Remarque :
Simple, rapide et trés efficace.
Langage : ObjectiveCaml
Date ajout : 09/02/2008
Posté par coucou747 [Liste]

type poly = Zero | Un | X | Add of poly * poly | Mult of poly * poly | Scal of poly * float;;
let rec eval x = function
    | Zero -> 0.
    | Un -> 1.
    | X -> x
    | Add(a,b) -> (eval x a) +. (eval x b)
    | Mult(a,b) -> (eval x a) *. (eval x b)
    | Scal(a,b) -> (eval x a) *. b
;;

type point = {x: float; y: float};;
let new_point px py = {x=px;y=py;};;
let rec interpolate=function
    | ([], j) -> Un
    | (hd::lt, j) ->
        if j==0 then
            interpolate (lt, j-1)
        else
            Mult(
                Add(X,Scal(Un,0. -. hd.x)),
                interpolate (lt, j-1)
            );;
let reponseInterpolate liste =
    let rec f i = function
        | [] -> Zero
        | hd::lt -> let p=interpolate (liste, i) in
            Add(
                Scal ( p, hd.y /. (eval hd.x p) ),
                f (i+1) lt
            )
    in f 0 liste;;


Remarque :
pour tester on peut faire par exemple :
let p=reponseInterpolate [ {x=1.;y=1.}; {x=2.;y=2.}; {x=3.;y=1.} ];;

eval 1. p;;
eval 2. p;;
eval 3. p;;

Snippets en rapport avec : Points, Interpolation, Polynomiale



Codes sources en rapport avec : Points, Interpolation, Polynomiale

{Flash} DÉPLACEMENT OBJET
Ici se trouve le code pour déplacer un objet sur la scène, sans interpolations. Vous trouverez un c...

{C / C++ / C++.NET} APPLICATION MATHÉMATIQUE EN C++ ET QT
Cette application mathématiques a été réalisée avec le langage C++ et la QT 2.3.0 . Elle traite : ...

{Delphi} RÉGRESSION POLYNOMIALE
Calcul le meilleurs polynome approximant n points expérimentaux....

{Visual Basic, VB6, VB.NET, VB 2005} ALGORITHME DE PATHFINDING ASTAR
Cet algorithme célèbre est un algorithme de type PathFinding. Il recherche le chemin le plus rap...

{Visual Basic, VB6, VB.NET, VB 2005} GRAPHIQUE EN TEMPS RÉEL (AVEC LISSAGE DES COURBES ET ANTIALIAS)
Bonjour à tous, voilà je cherchais un controle qui me permettrait d'afficher un graphique en temp...

{Visual Basic, VB6, VB.NET, VB 2005} INTÉGRER DES SCORES À VOS JEUX
Très simplement, ce Module sert à écrire dans le registre 5 joueurs et leurs scores. Avec modificat...

{Flash} UTILISATION DES INTERPOLATIONS DE FORME ET DES REPÈRES
C’est juste un exemple de ce que l’on peut produire avec les interpolations de forme Le fichier sou...

{Javascript / DHTML} S'ENTRAINER EN MATH GRACE A DES EXERCICES
Ce code se compose de 4 pages dont la page du sommaire est Math.htm, il permet de s'entrainer en mat...

{Flash} ANIMATION CERVEAU AVEC ECLAIRS ALEATOIRE
une petite animation d'un cerveau qui sert a rien mais c'est joli par interpolation de mouvement et ...

{Javascript / DHTML} SYSTÈME POUR COMPTER VOS POINTS LORS DE VOS PARTIE DE FLÉCHETTE
Bonjour à tous ! Ce script fait de principalement de javascript et un peu de PHP est conçu pour s...