Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Remplir une matrice par une boucle
Étiqueté : matrix matrice boucle for
- Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par
bernadette, le il y a 8 années et 9 mois.
-
AuteurMessages
-
-
31 janvier 2017 à 21:31 #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
-
1 février 2017 à 08:05 #3640
bernadette
Maître des clés::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])} -
1 février 2017 à 08:13 #3642
bernadette
Maître des clés::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). -
1 février 2017 à 16:50 #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
-
1 février 2017 à 20:04 #3652
bernadette
Maître des clés
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.