SCILAB regression polynomiale

Fermé
chonchu Messages postés 3 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 13 avril 2009 - 13 avril 2009 à 12:18
Bartlemagnifik Messages postés 1 Date d'inscription samedi 18 avril 2009 Statut Membre Dernière intervention 18 avril 2009 - 18 avril 2009 à 20:13
Bonjour,

je suis débutant en SCILAB et je souhaiterais traiter des données issues de mesures. Grâce à l'aide d'un des membres de notre communauté (sacabouffe), j'ai réussi à importer mes données (une matrice de 1000 lignes et de 2 colonnes). Je désirerais maintenant, approximer mes résultats par des polynomes de degré élevés. Comment puis-je procéder?

En vous remerciant par avance.

1 réponse

Bartlemagnifik Messages postés 1 Date d'inscription samedi 18 avril 2009 Statut Membre Dernière intervention 18 avril 2009 2
18 avril 2009 à 20:13
Salut, je planche actuellement sur le même problème que toi.
(Tu n'es pas en première année de MASS à Toulouse au moins ^^ ?)
C'est en fait un problème beaucoup plus compliqué que tu sous entends. Il s'agit de programmer l'algorithme d'interpolation polynomiale de Newton. Voila le sujet donné par le prof qui te permettra, si tu arrive à le comprendre, de resoudre ton problème : http://exegetique.free.fr/TP_3.pdf.
Si ça peut t'aider voila mon script qui n'est pas complet; il y a juste un problème dans la formule de récurence à reprendre. Si j'y arrive je te tient au jus:

clear
//Entrez la dimmmenssion de la matrice carré
n=input("entrez le nombre de points étudiés")
//Initialiser s, variable pour compter les boucles pour entrer les abscices
s=1;
//Entrer les absices dans l'ordre
while s<(n+1)
x(s)=input("Entrez les absices des points étudiés dans lordre")
//Incrementer s
s=s+1;
end
//Meme méthode pour les ordonnées
k=1;
while k<(n+1)
y(k)=input("Entrez les ordonnées des points étudiés dans lordre")
k=k+1;
end
//Création de la matrice carré vide de dimmension n
A=zeros(n,n);
//Implentation de la matrice ligne des ordonnées dans A
A(1:1,1:n)=y'
//Determination de la valeur specifique de A(2,2)
A(2,2)=999
//Introduire la formule de recurence
for i=2:n
for j=3:n
A(i,j)=(A(i,j-1)-A(i-1,j-1))/x(i)-x(i-j+1);
end
end
//Extraire F, matrice diagonale de A
F=diag(A)
//Créér P, transposée de F et polynome des coeficients de Newton
P=F'
2