Création
d'entreprise
Posez votre question Signaler

Programme maple

troudbibulle - Dernière réponse le 23 juin 2009 à 14:09
bonjour à tous!
je dois faire plusieurs programmes en maple et il y en a un qui me pose problème je ne vois pas comment démarrer. Il faut que je fasse une procédure qui à partir d'une liste de quotients successifs renvoie p et q pour lesquels l'algo d'euclide a comme quotients successifs les quotients de la liste.
merci pour votre aide
a bientot
Lire la suite 

Programme maple »

2 réponses
Réponse
+1
moins plus
Salut troudbibulle, j'ai pas mal de connaissance en mapple et j'ai déja réalisé plusieurs programmes.Je peux t'aider si tu veux je suis en Spé math.T'es en quelle classe ?
Je connais pas de tete 'algorithme d'euclide mais si je me souviens bien c'est pour trouver les PGCD non ?
De toute évidence ta fonction mapple va demarrer par

algoeuclide:=proc(a,b)
local N,q,r;
N:=NULL; // création de ta liste
...ensuite je n'ai pas bien compris ce que tu cherches à avoir
mais j'ai trouvé sur wikipédia un algorithme d'euclide, le voici transformé en mapple :

algoeuclide:=proc(a,b)
local r,r',u,v,x,rs,us,vs,q;
x := a*u+b*v;
r := a;
r' := b ;
u := 1;
v := 0;
u' := 0;
v' := 1;
les égalités r = a*u+b*v et r' = a*u'+b*v' sont des invariants de boucle.
while r'<>0 do
q := r/r'
rs := r, us := u, vs := v;
r := r', u := u', v := v';
r' := rs -q *r', u' = us - q*u', v' = vs -q*v';
od;
[r, u, v];
end:

personnellement j'aurais plus utiliser les fonction iquo et irem de mapple pour avoir le reste de la division euclidienne.Si t'as besoin d'aide voici mon mail break_style@msn.com
n'hésites pas
++




pour la suite : source http://fr.wikipedia.org/wiki/Algorithme_d%27Euclide_%C3%A9tendu
jouga - 23 juin 2009 à 14:09
bonjour ,j(ai vus votre discussion avec qlq et j'ailerai que vous m'aidez svp voici mon programme
restart;
> U:=unapply(Diff( u,u$2)+r^(-1)*Diff(u,r)=c^(-2)*Diff(u,t$2),r,t);
> #ceci est un comentaire
> print(`les condition initiales`);
> F:=f(r)=u(r,0);
> V:=Diff(u(r,0),t)=c*g(r);
> #ceci est un comentaire
> print(`opérateur différentielles linéaires`);
> R1:=L[r]=Diff(u(r,t),t);
> T:=L[t,t]=Diff(u(r,t),t$2);
> R:=L[r,r]=Diff(u(r,t),r$2);
> #ceci est un comentaire
> print(`opérateur d'intégration double`);
> H:=L[t,t]^(-1)=int(int(u(r,t),t=0..t),t=0..t);
> Q := u(r,0)+c*g(r)*t;
> u1(r,t):=unapply(Q+c^2*((L[t,t]^(-1)*L[r,r]*u(r,t))+(L[t,t]^(-1)*(r^(-1))*L[r]*u(r,t))),r,t);u=Sum('u[n](r,t)','n'=0..infinity);
> E:=u[0]=Q;
> Z:=u[1]=unapply(c^2*((L[t,t]^(-1)*L[r,r]*E)+(L[t,t]^(-1)*(r^(-1))*L[r]*E)));
> Y:=u[2]=c^2*((L[t,t]^(-1)*L[r,r]*Z)+(L[t,t]^(-1)*(r^(-1))*L[r]*Z));
> sol:= u[k+1]=unapply(a^2*((L[t,t]^(-1)*L[r,r]*u(k))+L[t,t]^(-1)*(r^(-1)*L[r]*u(k))));

/ 2 \
|d | Diff(u, r) Diff(u, t, t)
U := (r, t) -> |--- u| + ---------- = -------------
| 2 | r 2
\du / c


les condition initiales


F := f(r) = u(r, 0)


d
V := -- u(r, 0) = c g(r)
dt


opérateur différentielles linéaires


d
R1 := L[r] = -- u(r, t)
dt


2
d
T := L[t, t] = --- u(r, t)
2
dt


2
d
R := L[r, r] = --- u(r, t)
2
dr


opérateur d'intégration double


t t
/ /
1 | |
H := ------- = | | u(r, t) dt dt
L[t, t] | |
/ /
0 0


Q := u(r, 0) + c g(r) t


u1(r, t) := (r, t) ->

2 /L[r, r] u(r, t) L[r] u(r, t)\
u(r, 0) + c g(r) t + c |--------------- + ------------|
\ L[t, t] L[t, t] r /


infinity
-----
\
u = ) u[n](r, t)
/
-----
n = 0


E := u[0] = u(r, 0) + c g(r) t


/ 2 /L[r, r] u[0] L[r] u[0]\
Z := u[1] = |() -> c |------------ + ---------| =
\ \ L[t, t] L[t, t] r/

2 /L[r, r] (u(r, 0) + c g(r) t) L[r] (u(r, 0) + c g(r) t)\
c |---------------------------- + -------------------------|
\ L[t, t] L[t, t] r /

\
|
/


/ 2 /L[r, r] u[1] L[r] u[1]\ 2 / /
Y := u[2] = |c |------------ + ---------| = c |L[r, r] |() ->
\ \ L[t, t] L[t, t] r/ \ \

2 /L[r, r] u[0] L[r] u[0]\
c |------------ + ---------| =
\ L[t, t] L[t, t] r/

2 /L[r, r] (u(r, 0) + c g(r) t) L[r] (u(r, 0) + c g(r) t)\
c |---------------------------- + -------------------------|
\ L[t, t] L[t, t] r /

\ / 2 /L[r, r] u[0] L[r] u[0]\
|/L[t, t] + L[r] |() -> c |------------ + ---------| =
/ \ \ L[t, t] L[t, t] r/

2 /L[r, r] (u(r, 0) + c g(r) t) L[r] (u(r, 0) + c g(r) t)\
c |---------------------------- + -------------------------|
\ L[t, t] L[t, t] r /

\ \\
|/(L[t, t] r)||
/ //


/ 2 /L[r, r] u(k) L[r] u(k)\\
sol := u[k + 1] = |() -> a |------------ + ---------||
\ \ L[t, t] L[t, t] r//

> je voudrai donner des valeur à f(r) et g(r) pui dessiner le graphe pour c=4,5,6,7 et un autre pour c=5 et r=20 merci d'avence
Ajouter un commentaire
Ce document intitulé « programme maple » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?