|
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 29 Juin 2012 17:15 Sujet du message: Bornes décimales |
|
|
Bonjour ALS,
Pourriez-vous nous rappeler s'il vous plaît comment faire pour avoir des bornes décimales.
Dans cette séquence il faudrait que n soit tous les chiffres compris entre 1.0100 et 1.5873
Donc par exemple pris au hasard 1.4159 ou 1.1618 etc
Ce début a été fait mais Maple renvoie une erreur
s:=seq(10*n,n=1,0100..1,5873);
Error, invalid input: seq expects between 1 and 3 arguments, but received 4...............? |
|
Revenir en haut de page |
|
|
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 30 Juin 2012 8:39 Sujet du message: |
|
|
Bonjour,
Deux façons de procéder:
A l'aide d'une séquence:
Code: |
> s:=seq(evalf[5](n/10000),n=10100..15873);
|
ou alors à l'aide d'une boucle for :
Code: |
> s:=NULL: for k from 1.0100 to 1.5873 by 0.0001 do
> s:=s,k od: s;
|
|
|
Revenir en haut de page |
|
|
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 30 Juin 2012 16:30 Sujet du message: Bornes décimales |
|
|
Bonjour ALS,
Merci pour ces 2 séquences qui fonctionnent parfaitement.
Avec cette ligne supplémentaire on calcule tous les quotients d'un nombre donné d ici on a pris 24 par chacun des décimaux de s :
s:=seq(evalf[5](n/10000),n=10100..10200);
d:=seq(24/p,p=s);
Mais comment avoir les résultats de façon mieux ordonnée et plus claire parce que là tous les résultats sont pratiquement accolés.
Comment avoir pour chacune des divisions :
res:= [ 1.0010 , 24/1.0010 , 23.9760 ]..... |
|
Revenir en haut de page |
|
|
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 30 Juin 2012 17:23 Sujet du message: |
|
|
On peut utiliser la fonction printf identique à celle du langage C:
Code: |
s:=seq(evalf[5](n/10000),n=10100..10200):
> for p in [s] do
> printf("%f 24/%f=%f \n", p,p,24/p) od;
|
|
|
Revenir en haut de page |
|
|
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 30 Juin 2012 19:13 Sujet du message: Bornes décimales |
|
|
Re-bonjour ALS,
Merci pour toute votre aide je vous suis vraiment obligé : )
La fonction " for n in p " à l'air d'être très pratique : )
Voilà d'autres lignes supplémentaires de la séquence de base :
a:=1911617171;s:=seq(evalf[6](n/100000),n=101000..114000):
d:=evalf(seq(sqrt(a)/p,p=s)):
e:=seq(round(a/f),f=d):
g:=evalf(seq(a/h,h=e)):
j :=whattype(g);if ( j=integer ) then print(" Division_termine ")and print( g ) else 0 fi ;
Mais ça bloque à la ligne avec j:= whattype... : (
En fait dans la séquence g il faudrait que maple renvoie que les cas où g est un integer c'est à dire seulement les cas ou (a/h) est un quotient entier.....?
J'essaie avec whattype mais erreur car sans doute expression incorrecte... : ( |
|
Revenir en haut de page |
|
|
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 30 Juin 2012 20:43 Sujet du message: Bornes décimales |
|
|
Re-bonjour ALS,
Même en rajoutant ces lignes avec la fonction select et convert en liste il y à toujours le même probléme impossible de sélectionner dans g seulement les nombres entiers.....?
g:=[evalf(seq(a/h,h=e))]: sort(convert(g,list));
select(x->type(x,posint),[(g)]); |
|
Revenir en haut de page |
|
|
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 30 Juin 2012 21:09 Sujet du message: Bornes décimales |
|
|
Bonsoir ALS,
Avec la fonction " op " maple renvoie pour la circonstance le 10 éme élément de g mais toujours pas comment faire pour renvoyer les éléments entiers de g......?
Digits:=20;
a:=1911617171;s:=seq(evalf[6](n/100000),n=101000..114000):
d:=evalf(seq(sqrt(a)/p,p=s)):
e:=seq(round(a/f),f=d):
g:=[evalf(seq(a/h,h=e))]:print("g_est_une",whattype(g));
print("Nbre_elements_g=",nops(g));
print("Nbre_cherche=",op(10,g)); |
|
Revenir en haut de page |
|
|
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 01 Juil 2012 1:23 Sujet du message: Bornes décimales |
|
|
Bonsoir ALS,
Enfin ça marche voilà la séquence:
Digits:=20;
a:=1911617171;s:=seq(evalf[6](n/100000),n=101000..114000):
d:=evalf(seq(sqrt(a)/p,p=s)):
e:=seq(round(a/f),f=d):
g:=seq(a/h,h=e):
select(x->type(x,posint),[(g)]); |
|
Revenir en haut de page |
|
|
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 01 Juil 2012 9:02 Sujet du message: |
|
|
Bonjour,
Je vois que vous progressez avec sérieux dans l'utilisation de Maple.
En modifiant la dernière ligne en
> convert(convert(select(x->type(x,posint),[g]),set),list);
vous éliminez les doublons dans votre liste, en convertissant en ensemble (set) puis à nouveau en liste (list) :
Code: |
> Digits:=20;
> a:=1911617171;s:=seq(evalf[6](n/100000),n=101000..114000):
> d:=evalf(seq(sqrt(a)/p,p=s)):
> e:=seq(round(a/f),f=d):
> g:=seq(a/h,h=e):
> convert(convert(select(x->type(x,posint),[g]),set),list);
Digits := 20
a := 1911617171
[38543]
|
|
|
Revenir en haut de page |
|
|
Guimzo
Inscrit le: 02 Juin 2012 Messages: 209
|
Posté le: 01 Juil 2012 15:11 Sujet du message: Bornes décimales |
|
|
Bonjour ALS,
Merci pour cette attention, mais je vous assure que Maple et moi c'est une histoire de hiéroglyphes...!
Bien qu' avec vous comme prof il y à l'espoir de percer le mystère de Ramsès...! : )
En tout cas vous êtes très gentil et j'admire beaucoup votre pédagogie et votre patience...!
Merci pour les lignes supplémentaires pour la séquence.
A bientôt. |
|
Revenir en haut de page |
|
|
|
|
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
|
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.
|