begin process at 2012 05 30 02:54:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Lagrange Polynomial


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lagrange Polynomial

mardi 17 novembre 2009 à 21:35:49 | Lagrange Polynomial

bayans

Je souhaite ajouter ces formules dans le code ci-dessus, afin d'executer le cacul de Lagrange Polynomial Interpolation dans le langage c Au fait si le code doit etre modifier,si vous avez des remarques ou des conseil n'hesiter pas je suis la pour apprendre. Ceci sont les formules que je souhaite ajouter dans ce code:

L0(x) = x-x1 / x0-x1 * x-x2 / x0-x2
L1(x) = x-x0 / x1-x0 * x-x2 / x1-x2
L2(x) = x=x0 / x2-x0 * x-x1 / x2-x1

Rsultat: L(x) = f(x0)*L0(x) + f(x1)*L1(x) + f(x2)*L2(x)

Ceci est le code en question:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float x[3],y[3],xdegre, fx, Lg;
int n,i,j;
n=3;
printf("\nEntrer la valeur de x0 : ");
scanf("%f", &x[0]);
printf("\nEntrer la valeur de x1 : ");
scanf("%f", &x[1]);
printf("\nEntrer la valeur de x2 : ");
scanf("%f", &x[2]);

printf("\nEntrer la valeur de y0 : ");
scanf("%f", &y[0]);
printf("\nEntrer la valeur de y1 : ");
scanf("%f", &y[1]);
printf("\nEntrer la valeur de y2 : ");
scanf("%f", &y[2]);

printf("\nEntrer la valeur de xdegre : ");
scanf("%f", &xdegre);
fx=0.0;
for (i=0;i<5;i++){
Lg = 1;
for(j=0;j<5;j++){
if (j != i) Lg = Lg * (xdegre - x[j]) / (x[i] - x[j]);
}
fx=fx + y[i] * Lg;
}
printf("\nLa valeur de f[x] pour x = %f est de : %f ",xdegre,fx);
printf("\n\n");
system("pause");
return(0);
}
mercredi 18 novembre 2009 à 00:23:56 | Re : Lagrange Polynomial

CptPingu

Administrateur CodeS-SourceS
Quelle est la question ?
mercredi 18 novembre 2009 à 01:10:45 | Re : Lagrange Polynomial

bayans

Bon au fait je dois ecrire un simple code danle langage c(plus que je debute dans la programmatiion) capable d'effectuer lagrange polynomial interpolation le code que j'ai poste ne plaisait pas a mon prof il m'a dit que c'etait un programme dynamique il veut me rendre fou qu'est ce que c'est sa bref voila l'ennonce:

Objectif : L’objectif de ce programme est de concevoir et développer un logiciel informatique d'une fonction polynomiale impliquant un ensemble de points de données. Votre algorithme se fondera sur la méthode d'interpolation lagrange.

fonctionnalités : l'entrée au programme devrait consister en un nombre donné de n points de données, les valeurs de la xi variables indépendantes et de la variables f(xi) dépendants à chaque point et la valeur x pour l'interpolation. Les points de données seront stockées dans les baies de "x [ ]" et "f [ ]", et la valeur x pour l'interpolation est stockée dans "x_value". Votre programme doit être capable de déterminer à l'aide de ces informations f (x).

Astuce : Le projet est divisé en une étape en cascade où une étape du programme calcule le polynôme lagrange et l'autre facilite la sortie d'entrée et l'opération de transformation. Le calcul polynomiale en partie peut facilement être mise en oeuvre à l'aide du **nested for loop**, où on calcule le polynôme de base et les variables dépendantes. Aussi, soyez prudent lorsque vous sélectionnez le type de données approprié pour vos variables.

Example de lagrange polynomial :

Supposons que :

X0=0.0------------------ f(x0) = 0.0
X1=1.5-----------------f(x1) = -15
X2=2.0----------------- f(x2) = -17.5

Nous souhaitons trouver un polynôme ; qui décrit le mieux ces points de données. La première étape de l'utilisation d'interpolation de lagrange est d'évaluer les polynômes de base :

L0(x)= x-x1 / x0-x1 * x-x2 / x0-x2

L1(x)= x-x1 / x1-x0 * x-x2 / x1-x2

L2(x)= x-x1 / x2-x0 * x-x2 / x2-x1

Lagrange polynomial est defini :

L(x) = f(x0) * L0(x) + f(x1) * L1(x) + f(x2) * L2(x)

**Une fois de plus voici le programme que j'ai presente mais sa ne plait pas a mon prof pouvez vouz m'aider.**

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float x[3],y[3],xdegre, fx, Lg;
int n,i,j;
n=3;
printf("\nEntrer la valeur de x0 : ");
scanf("%f", &x[0]);
printf("\nEntrer la valeur de x1 : ");
scanf("%f", &x[1]);
printf("\nEntrer la valeur de x2 : ");
scanf("%f", &x[2]);

printf("\nEntrer la valeur de y0 : ");
scanf("%f", &y[0]);
printf("\nEntrer la valeur de y1 : ");
scanf("%f", &y[1]);
printf("\nEntrer la valeur de y2 : ");
scanf("%f", &y[2]);

printf("\nEntrer la valeur de xdegre : ");
scanf("%f", &xdegre);
fx=0.0;
for (i=0;i<5;i++){
Lg = 1;
for(j=0;j<5;j++){
if (j != i) Lg = Lg * (xdegre - x[j]) / (x[i] - x[j]);
}
fx=fx + y[i] * Lg;
}
printf("\nLa valeur de f[x] pour x = %f est de : %f ",xdegre,fx);
printf("\n\n");
system("pause");
return(0);
}









samedi 21 novembre 2009 à 20:26:06 | Re : Lagrange Polynomial

alxidali

je pense que votre prof vous a dit qu'aucontraire votre programe n'est pas dynamique , car vous obligé l'utilisateur a donné 3 x et puis 3 y , et vous donné a l'entré les tableau de taille 3 , , et si je voullait un seul x et un seul Y , si ca se peux avec lagrange bien sure


Cette discussion est classée dans : valeur, printf, x1, x0, x2


Répondre à ce message

Sujets en rapport avec ce message

Mathématique sur le discriminant? [ par jia2812 ] #include #include int a,b,c,discriminant;float X1,X2,X;void main(){printf("\t\t##########################\n");printf("\t\t## ##\n Problem de 'left operand must be a lvalue" [ par Orezza ] Voila je vous mets le code qui est un code trouver sur ce site mais que j'ai modifié. je ne comprends pas les erreurs de compilations pourriez-vous ra Comment créer des variables X1, X2 ... ? (je débute seulement) [ par piotzer ] Bonjour.Dans un code j'ai besoin de créer un nombre N de variable numérique X que je souhaite appeler X1, X2, X3,... XN. La question est comment décla lire un octet [ par th62d ] Bonjour,Je dois lire la valeur se trouvant dans buffer. char buffer[10]; printf("%x\r\n",buffer[1]); La Pb peut etre de compilateur ?! Need Help please [ par Orezza ] Orezzasalut à tous, je ne comprends vraiment pas le Pb, le compilateur Visual C++ indique 0 erreur-0 warning, or kand j'execute mon prog des ke je ren Problême avec Getchar... [ par Kolibot ] Je débute en C et je suis tombé sur un problême... : #include #include int main (){int a,b,d;a = 0; b = 0;printf ("Calculatrice : \n\n");printf ("Vale Conversion étrange [ par Ziman ] Bonjour,je viens de tomber sur un cas bizarre lol. En fait, je fais ceci un moment :chaine[x] = 130;printf ("%d\n", chaine[x]);pour attribuer à l'octe comportement étrange ... [ par clempar55 ] J'ai fait un petit programme tout à l'heure pour voir si on pouvait incrementer un double et j'ai fait le test suivant:     double d=32.5;    printf(" recuperer la valeur ascii d'un caractere (SANS PRINTF!!) [ par chmod777 ] hello, j'ai besoin de pouvoir recuperer le code ascii d'un caractere contenu ds un tablo, valeur ascii que j'ai besoin de traiter apres, comment puis- angles [ par PijanaKrava ] Yop tt le mondevoilà g un chti problème avec une appli VC++ ke je dois faire.Voilà g 3 points dont g les coordonnées et je dois calculer l'angle formé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales