Maple combinaison somme
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Maple combinaison somme



  1. #1
    Guimzo

    Maple combinaison somme


    ------

    Bonjour,


    Une personne qui se débrouille en Maple, pour m'aider s'il vous plaît à construire un petit programme qui effectue la somme de n éléments dans un ensemble donné:

    Le but c'est d'abord de former une liste l et dans cette liste combiner la somme de n éléments.
    Exemple :

    Liste l1:= [ 1 , 2 , 3 , 4 ]

    Le but est de construire une autre liste exhaustive l2 qui est composé de la somme de 3 éléments de l1 :
    ( Donc d'abord un C(n,p) de l1 ; et ensuite une somme de chaque C(n,p)

    l2:= [ 6,7,8,9]

    En effet 6 = 1+2+3 donc 3 éléments de l1
    7=2+3+4 donc 3 éléments de l1
    etc etc...

    J'ai fait ça mais il y à un probléme :

    ======================
    restart;
    l1 := [1, 2, 3, 4];
    l2 := binomial(l1, 3);
    l3:= seq(sum(...??)

    ==========================

    Si une personne qui s'y connait un peu peut m'aider, merci

    -----

  2. #2
    Guimzo

    Re : Maple combinaison somme

    J'ai fait comme ceci, ce qui permet effectivement de combiner la liste l1, mais comment construire une autre liste dont les éléments soient la somme des groupes de 3 chiffres...?


    ====================

    restart;
    l1 := [1, 2, 3, 4, 5];
    with(combinat);
    l3 := choose(l1, 3)

    ======================
    Dernière modification par Guimzo ; 31/10/2014 à 20h50.

  3. #3
    gg0
    Animateur Mathématiques

    Re : Maple combinaison somme

    Bonjour.

    Comme Maple utilise la notion d'ensemble, tu peux déterminer une à une toutes les sommes de trois éléments, puis mettre les résultats dans un ensemble. Dans un ensemble, les valeurs n'apparaissent qu'une fois.

    Mais il serait bon que tu ne te contentes pas d'écrire 3 lignes un peu au hasard, car tu as un vrai travail de réflexion à faire. Si tu ne le fais pas, il est inutile qu'on "t'aide", c'est à dire qu'on fasse le travail à ta place : Tu n'apprendrais rien.

    De même, il te faut éviter d'écrire des énormités du genre "d'abord un C(n,p) de l1" qui montrent que tu n'as même pas réfléchi à ce que ça veut dire, que tu mélanges allègrement les notions faute de volonté de savoir.

    Programmer, c'est difficile, surtout si on n'a pas réfléchi à ce qu'on veut faire faire à l'ordinateur. Pour des programmes élémentaires, il suffit de regarder comment on le ferait à la main, sur une liste simple pour commencer. Puis on en déduit ce qu'il faudra faire faire à l'ordinateur, on cherche comment, avec le langage choisi (ici Maple), on va le faire faire.

    Bon travail personnel !

  4. #4
    Guimzo

    Re : Maple combinaison somme

    Citation Envoyé par gg0 Voir le message
    Bonjour.

    Comme Maple utilise la notion d'ensemble, tu peux déterminer une à une toutes les sommes de trois éléments, puis mettre les résultats dans un ensemble. Dans un ensemble, les valeurs n'apparaissent qu'une fois.
    Mais il serait bon que tu ne te contentes pas d'écrire 3 lignes un peu au hasard, car tu as un vrai travail de réflexion à faire. Si tu ne le fais pas, il est inutile qu'on "t'aide", c'est à dire qu'on fasse le travail à ta place : Tu n'apprendrais rien.
    De même, il te faut éviter d'écrire des énormités du genre "d'abord un C(n,p) de l1" qui montrent que tu n'as même pas réfléchi à ce que ça veut dire, que tu mélanges allègrement les notions faute de volonté de savoir.
    Programmer, c'est difficile, surtout si on n'a pas réfléchi à ce qu'on veut faire faire à l'ordinateur. Pour des programmes élémentaires, il suffit de regarder comment on le ferait à la main, sur une liste simple pour commencer. Puis on en déduit ce qu'il faudra faire faire à l'ordinateur, on cherche comment, avec le langage choisi (ici Maple), on va le faire faire.
    Bon travail personnel !

    Bonsoir,

    Je suis sans voix...
    Franchement, je n'avais jamais entendu un aussi beau discours sur la réflexion personnelle...
    Merci pour ces beaux encouragements !

  5. A voir en vidéo sur Futura
  6. #5
    Guimzo

    Re : Maple combinaison somme

    Bonsoir,


    Pour ceux et celles que ça intéresse, voici ce que j'ai fait pour l'instant, et qui fonctionne à moitié :

    ========================

    restart;
    Digits := 10;
    a := [1,2,3,4,5];
    with(combinat):
    c := choose(a, 4);
    N := nops(c);
    with(ListTools):
    g := convert(c[3], `+`);

    ======================

    Explication :

    Ligne 1 : le "restart" que j'utilise toujours en début de programme, sert à réinitialiser les variables de Maple en quelque sorte

    Ligne 2 : "Digits", sert à définir un nombre de décimales dans l'écriture d'un nombre, par exemple 10 Digits et Maple renverra des nombres à 10 décimales dans leur évaluation... ( ce n'est pas obligatoire pour ce programme d'utiliser "Digits", c'est simplement par habitude ... )

    Ligne 3 : je définis une liste "a" qui contient les éléments parmi lesquels je vais combiner des groupes de 4 éléments en l’occurrence

    Ligne 4 : le "with(combinat)" me permet de solliciter le package Maple qui contient des outils liés entre autre à l'analyse combinatoire

    Ligne 5 : le "choose(a,4)" est un outil du package que je sollicite et qui va me permettre de construire des groupes de 4 éléments pris dans ma liste "a" ; cela équivaut à un C,n,p c'est à dire une combinaison de p éléments parmi n éléments.

    Ligne 6 : le "nops" me permet de dénombrer le nombre de groupes que j'ai construit ( ce qui pourra m'aider pour généraliser ...)

    Ligne 7 : Je sollicite un autre package de Maple,"with(ListTools)" lié entre autre aux listes...

    Ligne 8 : À partir du package, sur les listes, je convertis l'un des groupes, ici le groupe N°3 en une somme.


    CONCLUSION :
    ============

    Le programme est presque fonctionnel, il construit effectivement les sous-listes de n éléments désirés, il renvoie sous forme de somme l'une des sous-listes choisies ; il ne manque qu'à généraliser la construction des sommes pour chaque sous-listes , et au final faire une liste qui recense ces "sommes".

    ============

    P.S.1 : Voici ce que j'appelle de la pédagogie, montrer les choses et expliquer les choses, de façon concrète...

    P.S.2: Je ne fais que commencer à "apprendre" Maple, mais je pense que certains devraient en faire autant, au lieu de faire de longs discours alambiqués et qui en fait ne connaissent rien de Maple ; non @Tryss, on peut aussi bien mettre "end do" que "od" pour terminer une boucle ; non @Tryss, les ";" ne sont pas obligatoires à la fin de chaque ligne d'instructions ; ils s'utilisent pour afficher le résultat des instructions qui les précédent... on peut donc mettre quand on veut pas afficher un résultat " : " .

    non @ gg0 on peut très bien construire le programme cherché avec des listes ou autres et ton discours sur les ensembles et compagnies, est simplement le discours de qqn qui ne connait rien à Maple ; d'autre part, on peut très bien faire les listes à partir d'un C,n,p, ce que permet de faire "CHOOSE" donc du coup, c'est toi qui "devrait réfléchir, avant de dire des énormités" #( Je reprends tes mots )

  7. #6
    Guimzo

    Re : Maple combinaison somme

    Voici ce que j'ai refait, j'ai ajouté la boucle "do" qui permet de généraliser le calcul de la somme de chaque sous-liste des C,n,p.
    Le seul probléme, c'est que les résultats ne sont pas regroupés en une seule liste, ce qui manque au programme pour être ok...

    ============================== =

    restart;
    Digits := 10;
    a := [1, 2, 3, 4, 5];
    with(combinat):
    b := choose(a, 4);
    N := nops(b);
    with(ListTools):
    for i to N do c := [convert(b[i], `+`)];
    end do;

    ============================== ===

  8. #7
    Guimzo

    Re : Maple combinaison somme

    Bonjour,

    Le programme est enfin opérationnel, et exécute exactement ce qu'on lui demande dans la question de départ ; j'ai donc retiré le "do" et fait une séquence "c" que je mets sous forme de liste à l'aide des crochets et qui donne donc, les sommes recherchées.
    Comme on peut le voir, le programme est très simple, et utilise la notion de C,n,p, n'en déplaise à certains...



    ============================== ===

    restart;
    Digits := 10;
    a := [2, 4, 6, 7, 8];
    with(combinat):
    b := choose(a, 4);
    N := nops(b);
    with(ListTools):
    c := [seq(convert(b[i], `+`), i = 1 .. N)];

    ============================== ====

  9. #8
    gg0
    Animateur Mathématiques

    Re : Maple combinaison somme

    Ben voilà,

    tu y arrives tout seul ! Pourquoi demander ?
    Quant à C(n,p), c'est un nombre, pas une notion. Tant que tu utiliseras des symboles que tu ne connais pas au lieu du mot utile (ici "combinaisons"; j'avais très bien compris), tu t'exposeras au risque de passer pour peu sérieux.

    Cordialement.

    NB : es-tu sûr que ton programme marche avec a=[1,2,5,3,11,4] ?
    Dernière modification par gg0 ; 01/11/2014 à 22h20.

  10. #9
    invite14e03d2a

    Re : Maple combinaison somme

    A quoi sert de charger la librairie ListTools?

    Cordialement

    PS: je ne comprends pas les references a Tryss? Est-ce la continuite d'une autre discussion?

  11. #10
    Guimzo

    Re : Maple combinaison somme

    Citation Envoyé par gg0 Voir le message
    NB : es-tu sûr que ton programme marche avec a=[1,2,5,3,11,4] ?

    Bonjour,

    "a" est une liste ; par conséquent, tu peux mettre ce que tu veux dans ta liste, des symboles des chiffres, des lettres...
    À partir du moment où tu utilises la commande "choose", celle-ci ne fait que choisir des éléments de ta liste et les combine entres eux.

    Donc oui, le programme fonctionne avec a:=[1,2,5,3,11,4].
    Mais ta question me surprend quand même ; connais-tu au moins le logiciel Maple...?? Et l'as tu déjà utilisé surtout....??

  12. #11
    Guimzo

    Re : Maple combinaison somme

    Citation Envoyé par taladris Voir le message
    A quoi sert de charger la librairie ListTools?
    PS: je ne comprends pas les references a Tryss? Est-ce la continuite d'une autre discussion?

    Bonjour,

    Charger la librairie ListTools, permet d'utiliser les outils et les commandes qui opèrent sur les listes entres autres.
    Dans la séquence écrite, non, La librairie ListTool, ne semble pas être nécessaire, ni Digits, ni restart,
    ce sont des habitudes que j'ai pris avec Maple...

    Référence à Tryss, et à gg0, parce que je pense que soit, ils n'ont jamais utilisé Maple, ou soit, ils ont encore plus de travail encore à faire que moi, dans leur pratique de ce logiciel. :
    Pour Tryss, c'est parce qu'il disait que "les lignes Maple devraient se terminer par des ";" et que je mélangeais les ";" et les ":" ; je lui ai fait remarquer, que l'on pouvait utiliser les ";" et les ":" selon ce que l'on veut que Maple affiche...
    D'autre part il disait que pour terminer une boucle "c'est "od", et non "end do" ; je lui ai fait remarquer que Maple comprenait les deux expressions qui sont similaires. :
    Tu peux trouver ses remarques dans cette discussion au post N°32 :

    "http://forums.futura-sciences.com/mathematiques-college-lycee/664535-decomposition-dun-nombre-somme-de-puissance-de-2-a-3.html"

    Pour gg0 tu n'as qu'à relire son post N°8 ici, quand il demande si le programme fonctionne avec une liste " a=[1,2,5,3,11,4] "
    ( Je lui ai fait remarquer que dans une liste on pouvait mettre les éléments que l'on voulait, et que "choose" ne faisait que combiner ceux-ci entres-eux..)
    Dernière modification par Guimzo ; 02/11/2014 à 13h35.

  13. #12
    gg0
    Animateur Mathématiques

    Re : Maple combinaison somme

    Efffectivement,

    je connais Maple, je l'ai utilisé depuis plus de 25 ans, mais je ne l'utilise plus très régulièrement (sauf pour de petits calculs). je ne connaissais pas choose, qui te donne effectivement la liste des combinaisons de n éléments de ta liste.
    Si je posais la question de [1,2,5,3,11,4], c'est que tu obtiens une liste, pas un ensemble, donc des valeurs peuvent se répéter. Ce n'est pas le cas avec [1,2,5,3,11,4], les valeurs sont seulement non ordonnées, mais ça arrive avec a := [1,9,5,3,11,7] par exemple.

    Cordialement.

  14. #13
    Guimzo

    Re : Maple combinaison somme

    Citation Envoyé par gg0 Voir le message
    Efffectivement,
    je connais Maple, je l'ai utilisé depuis plus de 25 ans, mais je ne l'utilise plus très régulièrement (sauf pour de petits calculs). je ne connaissais pas choose, qui te donne effectivement la liste des combinaisons de n éléments de ta liste.
    Si je posais la question de [1,2,5,3,11,4], c'est que tu obtiens une liste, pas un ensemble, donc des valeurs peuvent se répéter. Ce n'est pas le cas avec [1,2,5,3,11,4], les valeurs sont seulement non ordonnées, mais ça arrive avec a := [1,9,5,3,11,7] par exemple.
    Cordialement.
    Bonjour,

    ????

    @gg0, au départ tu as une liste avec les éléments que tu désires mettre dans ta liste ; ensuite il s'agit de combiner entres eux ces éléments, selon les proportions que tu désires, des groupes de 4, de 5 etc etc tant que cela ne dépasse pas le nombre d'éléments de ta liste.
    Donc je ne comprends vraiment pas pourquoi tu t'es focalisé sur les "ensembles" et que tes éléments soient ordonnés ou non ...???

    Pour "a := [1,9,5,3,11,7]" bien sûr que le programme fonctionne ! Tu mets ce que tu veux dans ta liste, avec la fonction "choose" tu ne fais que combiner des éléments de ta liste entres eux ; la notion d'ensemble dans ce cas, ne sert à rien.

    Cordialement,

  15. #14
    gg0
    Animateur Mathématiques

    Re : Maple combinaison somme

    Bah,

    si ça ne te gêne pas, no problem !

Discussions similaires

  1. Convergence et limite de la somme d'une somme [séries]
    Par invite3acfbda2 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 16/10/2009, 10h17
  2. Réponses: 1
    Dernier message: 11/07/2009, 17h39
  3. [Maple]Entiers sur maple
    Par FonKy- dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/08/2007, 18h55
  4. programme maple: décomposition de 1/2 en somme d'inverses de carrés
    Par inviteaa8f7e46 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 01/01/2007, 21h51
  5. [prépa] somme et combinaison
    Par inviteb7047de8 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 13/11/2006, 19h24