A voir également:
- Programme maple
- Maple - Télécharger - Gestion de données
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
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 Adresse mail supprimée Modération CCM
n'hésites pas
++
pour la suite : source https://fr.wikipedia.org/wiki/Algorithme_d%27Euclide_%C3%A9tendu
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 Adresse mail supprimée Modération CCM
n'hésites pas
++
pour la suite : source https://fr.wikipedia.org/wiki/Algorithme_d%27Euclide_%C3%A9tendu
23 juin 2009 à 14:09
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