Remplir une matrice par une boucle

Accueil Forums Programmation WIMS Programmation d’exercices OEF Remplir une matrice par une boucle

Vous lisez 4 fils de discussion
  • Auteur
    Messages
    • #3639
      Joël
      Participant
      Up
      0
      Down
      ::

      Bonjour,

      Comme le titre l’indique, j’aimerai remplir une matrice dont les éléments seraient calculés par une boucle.

      J’essaye de trouver une manière de la remplir mais je bloque.

      Je pensais à quelque chose comme

      \matrix{essai=0,0,0,0}
      \for{t=1 to 4} {
      \real{essai[1;\t]=2*\t}
      }

      D’ailleurs est-il possible de modifier un seul élément d’une matrice par un code comme qui ne fonctionne pas:
      \real{essai[1;2]=5}

      Merci de vos lumières

    • #3640
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Cela n’est pas possible en langage OEF d’évaluer \a[2] comme tu essayes.
      Si la matrice n’existe pas, tu peux la remplir dans la boucle comme
      \matrix{essai=}
      \for{t=1 to 4} {
      \for{h=1 to 4}{
      \text{ligne=}
      \real{a=2*\t*\h}
      \text{ligne=wims(append items \a to \ligne}
      }
      \matrix{essai=\essai
      \ligne)
      }
      Si tu n’as pas besoin d’évaluer, la ligne \real{} est inutile.
      Si tout est numérique, j’évalue souvent globalement ave pari
      \text{essai=pari([\essai])}

    • #3642
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      On peut aussi faire d’ailleurs

      \text{essai=pari(M=matrix(4,4,i,j,2*i*j); M[4,3]=1000; M)}

      et dans pari/gp, on peut aussi faire M[4,3]=
      Mais simplement si la matrice est une matrice mathématique !
      (sinon, dans une matrice générale, on peut ne pas avoir le même nombre d’éléments à chaque ligne).

    • #3648
      Joël
      Participant
      Up
      0
      Down
      ::

      Merci beaucoup,
      il faut décidément que j’aille faire un tour vers pari et les fonctions plus exotiques de wims (d’ailleurs ne pourrait-on pas avoir l’aide WIMS technical documentation intégrée ou liée à l’aide de WIMS?)

      Je me permet de corriger la syntaxe qui est ici plus fonctionnelle

      \matrix{essai=}
      \for{t=1 to 4} {
      \text{ligne=}
      \for{h=1 to 4}{
      \real{a=2*\h*\t}
      \text{ligne=wims(append item \a to \ligne)}
      }
      \matrix{essai=\essai
      \ligne}
      }

      Merci encore

    • #3652
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Oui ! j’ai fait cela un peu vite ce matin avant de partir !!
      Merci.

      Bernadette

Vous lisez 4 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.