Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

div de polynômes

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en algèbre linéaire
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
lol



Inscrit le: 05 Nov 2006
Messages: 4

MessagePosté le: 05 Nov 2006 18:08    Sujet du message: div de polynômes Répondre en citant

bonjour à tous ,
voilà j'ai une procédure pr le calcul d'une division de polynôme , mais maple chercher mais trouve pas, quelqu'un peut-il me dire où est le prob : voici la procédure :
division:=proc(f,g);

a:=f;

b:=g;

c:=-1;

d:=-1;

while a<>0 do

a:=diff(a,x);

c:=c+1;

end do ;

while b<>0 do

b:=diff(b,x);

d:=d+1;

end do;

n:=c;

p:=d;

q:=0;

r:=f;

e:=lcoeff(g);

while r<>0 and n>=d do

M:=lcoeff(r)*e^(-1)*x^(r-d);

q:=q+M;

r:=r-g*M;

print(f=b*q+r);

end do;

end proc;
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 06 Nov 2006 12:30    Sujet du message: Répondre en citant

Bonjour, effectivement ça plante la machine, je pense que c'est du à une mauvaise initialisation de r avant la boucle while.
Voici une procédure qui fonctionne bien:

Code:

> division:=proc(A::polynom,B::polynom,X::name)
>    local A1,n,p,Q,Q1,R,k;
>    if B=0 then
>       error "le second argument doit être non nul"
>    else
>       A1:=A;Q:=0;
>       n:=degree(A);p:=degree(B);
>       for k from n by -1 to p do
>              Q1:=coeff(A1,X,k)/coeff(B,X,p)*X^(k-p);
>              Q:=Q+Q1;
>              A1:=expand(A1-B*Q1);
>       end do;
>    end if;
>    R:=A1;
>    print(A=B*Q+R);
>    [Q,R];
> end proc:

> division(X^5+X^4-X^3+X-1,X^3+X^2+2,X);

       5    4    3             3    2        2                 2
      X  + X  - X  + X - 1 = (X  + X  + 2) (X  - 1) + X + 1 - X


                           2               2
                         [X  - 1, X + 1 - X ]



A plus tard
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
mouss33



Inscrit le: 09 Oct 2006
Messages: 7

MessagePosté le: 12 Nov 2006 13:59    Sujet du message: pivot Répondre en citant

bonjour tout le monde
deja je tiens a m'escuser car mon message s'est posté 2 fois en réponse a d'autre message et je ne sais pas pourquoi!
ensuite,je vous écris car je ne comprend pas pourquoi ma procédure ne marche pas.en fait on prend les matrice A (n lignes,m colonnes) et C (n lignes et 1 colonnes)
on me demande de déterminer une procédure qui prend comme argument les matrices A et C et qui renvoi soit le system admet au moins une solution, soit le systeme n'a pas de solution.faire tourner votre procédure sur des system de types différents.

voila ce que j'ai fait
>with(LinearAlgebra);
>pivot:=proc(A,C)
local n,m;
n:=RowDimension(A);m:=ColumnDimension(A);
A:=matrix(n,m);C:=matrix(n,1);
if Rank(A)<n then print(`pas de solution`)
else if Rank(A)=n then print(`le systeme admet une unique solution`)
end if;
end if;
end proc;

ensuite j'ai rentré une matrice A et C
>A := matrix([[2, -1, 3], [3, 1, -1], [5, -2, 1]]);
>C := matrix([[9], [7], [5]]);

pivot(A,C);

le probleme c'est que on m'affiche :Error, (in LinearAlgebra:-RowDimension) expects its 1st argument, A, to be of type Matrix, but received A.
et je ne comprend pas ce qu'il ne va pas!
quelqu'un pourrais m'aider!
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
mouss33



Inscrit le: 09 Oct 2006
Messages: 7

MessagePosté le: 12 Nov 2006 14:43    Sujet du message: Répondre en citant

bon j'ai effectuer une modification et maintenant, j'ai un autre mesage d'erreur.en fait , j'ai juste changer la position de A:=matrix(n,m);C:=matrix(n,1);
je l'ai placé juste avant n:=RowDimension(A);m:=ColumnDimension(A);
ensuite j'ai rentré les 2 matrices et quand j'utilise la procédure, le nouveau message d'erreur est :Error, (in matrix) 1st and 2nd arguments (dimensions) must be non negative integers
cela veut dire que le 1er et le 2ieme argument ne doivent pas etre des entiers négatif mais je ne vois pas comment remédier a ce probleme!
j'espere que quelqu'un pourra me débloquer!
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
prof_simplet



Inscrit le: 12 Sep 2006
Messages: 86

MessagePosté le: 12 Nov 2006 17:07    Sujet du message: Répondre en citant

Bonjour, quand tu utilises le package LinearAlgebra, mets des majuscules pour Matrix, contrairement au package linalg où on écrit en minuscules matrix. J'ai aussi supprimé une ligne qui n'avait rien à faire:
A:=matrix(n,m);C:=matrix(n,1);

Code:

> with(LinearAlgebra):
> pivot:=proc(A,C)
> local n,m;
> n:=RowDimension(A); m:=ColumnDimension(A);
> if Rank(A)<n then print(`pas de solution`)
> else if Rank(A)=n then print(`le systeme admet une unique solution`)
> end if;
> end if;
> end proc:
 
> A := Matrix([[2, -1, 3], [3, 1, -1], [5, -2, 1]]);
> C := Matrix([[9], [7], [5]]);
 
> pivot(A,C);


OK?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
mouss33



Inscrit le: 09 Oct 2006
Messages: 7

MessagePosté le: 12 Nov 2006 17:57    Sujet du message: Répondre en citant

merci beaucoup!effectivement, ca marche!
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en algèbre linéaire Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.