Lagrange des différences divisées dans C
fleurita
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
FD -
FD -
Bonsoir,
j'ai un projet à réaliser ,je dois programmer lagrange des différences divisées en langage C et s'il vous plait je demande de l'aide pour faire ceci.
je vous prie si c'est possible de m'aider
merci d'avance
j'ai un projet à réaliser ,je dois programmer lagrange des différences divisées en langage C et s'il vous plait je demande de l'aide pour faire ceci.
je vous prie si c'est possible de m'aider
merci d'avance
A voir également:
- Wifipass pierre et vacances login
- Wifipass lagrange - Forum Loisirs / Divertissements
- Dans le document à télécharger, léa a utilisé 2 méthodes différentes pour centrer le nom des continents. lesquels sont centrés correctement ? ✓ - Forum Javascript
- Ce fichier contient l'historique des livres empruntés à la bibliothèque. combien de titres différents contient-il ? ✓ - Forum Excel
- Compter le nombre de valeurs différentes dans 1 colonne EXCEL ✓ - Forum Excel
- Centrer le nom des dossier ✓ - Forum Windows 10
voila ce que j'ai pu faire pour le moment ,et j'arrive pas à terminer la fin
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define NMAX 500
void tab_diff_div (int n,double x[NMAX],double f[NMAX],double ** d)
{
int i,j;
double xi;
//rentrer les valeurs de x[i]
for(i=0;i<=n-1;i++)
{
printf(" entrer les valeurs de x[%d]:",i );
scanf( "%d" ,&xi );
}
//rentrer les valeurs de x[i]
for(i=0;i<=n-1;i++)
{
printf(" entrer les valeurs de f(x%d ,i):",i );
scanf( "%d" ,&f(xi) );
}
// affichage d'un x[i]
for(i=0;i<n-1;i++)
{
printf(" xi %10.2f\n\n",x.d[i]);
}
for(i=0;i<=n;i++)
{
d[i][0]=f[i];
}
for(j=1;j<=n;j++)
{
for(i=0;i<=n-j;i++)
{
d[i][j]=(d[i+1][j-1]-d[i][j-1])/(x[i+j]-x[i]);
}
}
}
double poly_diff_div (int n,double x[NMAX],double ** d,double alpha)
{
int i;
double p;
p=d[0][n];
for(i=0;i<=n;i++)
p=p*(alpha-x[n-i])+d[0][n-i];
{
return (p);
}
}
void main()
{
int n;
double x[NMAX],
double f[NMAX],
double ** d,
tab_diff_div ( n, x[NMAX], f[NMAX],d)
}
voila ce que j'ai pu faire pour le moment ,et j'arrive pas à terminer la fin
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define NMAX 500
void tab_diff_div (int n,double x[NMAX],double f[NMAX],double ** d)
{
int i,j;
double xi;
//rentrer les valeurs de x[i]
for(i=0;i<=n-1;i++)
{
printf(" entrer les valeurs de x[%d]:",i );
scanf( "%d" ,ξ );
}
//rentrer les valeurs de x[i]
for(i=0;i<=n-1;i++)
{
printf(" entrer les valeurs de f(x%d ,i):",i );
scanf( "%d" ,&f(xi) );
}
// affichage d'un x[i]
for(i=0;i<n-1;i++)
{
printf(" xi %10.2f\n\n",x.d[i]);
}
for(i=0;i<=n;i++)
{
d[i][0]=f[i];
}
for(j=1;j<=n;j++)
{
for(i=0;i<=n-j;i++)
{
d[i][j]=(d[i+1][j-1]-d[i][j-1])/(x[i+j]-x[i]);
}
}
}
double poly_diff_div (int n,double x[NMAX],double ** d,double alpha)
{
int i;
double p;
p=d[0][n];
for(i=0;i<=n;i++)
p=p*(alpha-x[n-i])+d[0][n-i];
{
return (p);
}
}
void main()
{
int n;
double x[NMAX],
double f[NMAX],
double ** d,
tab_diff_div ( n, x[NMAX], f[NMAX],d)
}
Tu n'as toujours pas dit c'était quoi ton problème. lol
Mais je pense qu'il y a une erreur de compilation dans l'utilisation de ton double tableau d.
Il faut que tu utilises un malloc ou calloc pour définir la structure de d.
Mais surtout dis ce qui te pose problème.
en fait mon problème c'est que je bloque en ce moment,j'arrive pas à avancer.
j voudrais savoir est ce que deja,j dois utiliser un double pointeur sur le tableau ou pas.
et d'après toi j dois utiliser les allocations dynamiques.
et est ce que le programme te semble correct.
Ton tableau d est de taille fixe ? Auquel cas, un tableau statique suffit. Sinon le tableau dynamique s'impose.
Dans les deux cas, float **d; ne suffit pas.
int i;
float **d;
d= (float **)malloc (NBCOLONNES * sizeof (float*));
for (i = 0; i < NBCOLONNES; i++)
d[i] = malloc (NBLIGNES * sizeof (float));
NBCOLONNES et NBLIGNES représentent respectivement le nombre de colonnes et de lignes que tu souhaites avoir dans ta matrice d.