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 

Séquence constituée d'un unique élément

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Programmation
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
candide



Inscrit le: 25 Sep 2011
Messages: 12

MessagePosté le: 11 Déc 2011 13:45    Sujet du message: Séquence constituée d'un unique élément Répondre en citant

Bonjour


Comment faire comprendre à Maple qu'on veut travailler avec une séquence ayant un unique élément ?

Situation basique : propager une séquence initiée à partir d'un seul élément. Imaginons une séquence de vecteurs initialisée avec un unique vecteur, par exemple

> s:=Vector([14,18]);

si s doit être une séquence alors s[1] s'évalue à Vector([14,18]) mais en pratique, si Maple ne peut distinguer, s[1] va s'évaluer à 14. J'ai essayé tous les trucs évidents, par exemple,

> s:=NULL, Vector([14,18]);

ou encore en passant par une liste

> L:=[Vector([14,18])];
> s:=seq(z, z in L);


mais ça ne suffit pas à reconnaître s comme une séquence, ça reste juste un vecteur.

Visiblement, Maple a un problème avec les séquence de cardinal 1, puisque l'aide dit

If the first argument to op is a range i..j, then the result is a sequence
of the ith to jth operands of e.



mais si i=j, ça ne marche pas :


Code:
> L:=[Vector([14,18])];

                                   [14]
                             L := [[  ]]
                                   [18]

> ss:=op(1..1,L);

                                    [14]
                              ss := [  ]
                                    [18]

> ss[1];

                                  14

>




On rencontre la même question en Python, mais lui a prévu le coup, pour écrire une séquence à un élément en Python, on écrirait :

s:=Vector([14,18]),

avec une virgule à la fin pour donner la nature de l'objet (on peut aussi convertir en le type séquence). Mais en Maple, il n'y a pas de type séquence, ce qui est assez aberrant vu que de très très nombreuses structures sont construites à partir de séquences.

Est-ce que vous avez rencontré ce problème ? et si oui comment l'avez-vous résolu ? Merci
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: 12 Déc 2011 7:03    Sujet du message: Répondre en citant

Bonjour,
Effectivement, vous avez raison. Je contourne le problème en définissant une liste s d'un élément, et j'ajoute des éléments à cette liste: s:=[op(s),nouvel_element]. op(s) donne la séquence associée à cette liste.

Code:

> s:=[Vector([14,18])];

                                   [14]
                             s := [[  ]]
                                   [18]

> s[1];

                                 [14]
                                 [  ]
                                 [18]

> s:=[op(s),Vector([39,45])];

                                [14]  [39]
                          s := [[  ], [  ]]
                                [18]  [45]
> op(s);

                              [14]  [39]
                              [  ], [  ]
                              [18]  [45]



Il n'y a effectivement pas de type pour les expressions séquentielles, bien que la fonction whattype de Maple donne pour résultat exprseq sur une séquence.

Code:

> s:=a,b,c;

                             s := a, b, c

> whattype(s);

                               exprseq
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
candide



Inscrit le: 25 Sep 2011
Messages: 12

MessagePosté le: 12 Déc 2011 11:17    Sujet du message: Répondre en citant

ALS a écrit:
Je contourne le problème en définissant une liste s d'un élément, et j'ajoute des éléments à cette liste:


Comme vous dites, c'est une façon de contourner car le but était juste de faire évoluer la séquence. Merci de votre réponse.
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 -> Programmation 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.