Remplir une matrice par une boucle

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

Ce sujet a 4 réponses, 2 participants et a été mis à jour par  bernadette, il y a 6 mois et 2 semaines.

  • Auteur
    Messages
  • #3639

    Joël
    Participant

    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
    Admin bbPress

    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
    Admin bbPress

    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

    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
    Admin bbPress

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

    Bernadette

Vous devez être connecté pour répondre à ce sujet.