Scilab - Evaluation de polynome par FFT

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Vinalys
Messages: 3
Enregistré le: 28 Avr 2007, 12:21

Scilab - Evaluation de polynome par FFT

par Vinalys » 28 Avr 2007, 12:31

Bonjour à tous,

J'ai programmé une petite fonction sous le logiciel scilab qui permet via la FFT d'évaluer le produit de deux polynomes sous la forme P(x)=(x-2)^p*(x-3)^q (p, q entiers positif). Le problème, c'est que cela marche très bien pour p,q<6 mais après je commence à obtenir des erreurs sur les coefficients de mon polynome. Plus p et q sont grands et plus l'erreur est importante. Ceci est il du à une erreur machine? Sinon, d'ou cela peut il venir?

Par avance merci

Voici mon code :

function [r]=produit(p,q,rp,rq)

for i=0:p // calcul des coeffs du 1er polynome en utilisant la formule du binome de Newton
ap(i+1)=(factorial(p)/(factorial(i)*factorial(p-i)))*(-rp)^(p-i);
end;

for i=0:q // calcul des coeffs du 2ème polynome
aq(i+1)=(factorial(q)/(factorial(i)*factorial(q-i)))*(-rq)^(q-i);
end;

for i=p+1:p+q // complétion des vecteurs jusqu'au coefficient de degré max=p+q
ap(i+1)=0; // afin que les 2 vecteurs aient la même taille.
end;

for i=(q+1):(p+q)
aq(i+1)=0;
end;
//Calcul de la Transformée de Fourier de chaque vecteur
p1=fft(ap);
p2=fft(aq);

//Multiplication coefficients par coefficients
for i=0:(p+q)
c(i+1)=p1(i+1)*p2(i+1);
end;
// on effectue la transformée de fourier inverse du résultat
r=ifft(c);
endfunction



Vinalys
Messages: 3
Enregistré le: 28 Avr 2007, 12:21

par Vinalys » 29 Avr 2007, 10:12

remonte petit topic :D

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 48 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite