Générateur de matrices |
Auteur |
Message |
raboulave
Autorisation : Membre
Nb de messages : 57
Inscrit le : Jeu 08 Oct 2009, 20:56
|
Posté le : Lun 08 Nov 2010, 19:09
|
|
|
Rebonsoir ! Je poste aussi ce prog, utile ou pas selon les gens, moi c'est surtout parce que j'adore résoudre des équations, surtout quand je m'ennuie Il fait 373 octets, et il génère... ben, des matrices. Je n'ai pas utilisé une vraie matrice, il est fait en Output, je savais pas comment mettre en Matrice, les fonctions à utiliser, tout ça.... J'ai essayé de mettre tout dans une liste et d'utiliser la fonction Liste->Matr( mais j'ai pas bien dû m'y prendre ça a planté. Donc voilà le prog, qui peut très certainement être épuré :
Code | EffEcr
entAléat(1,10)->X
entAléat(1,10)->Y
entAléat(1,10)->Z
entAléat(1,10)->A
entAléat(1,10)->B
entAléat(1,10)->C
AX+BY+CZ->D
entAléat(1,10)->E
entAléat(1,10)->F
entAléat(1,10)->G
EX+FY+GZ->H
entAléat(1,10)->I
entAléat(1,10)->J
entAléat(1,10)->K
IX+JY+KZ->L
Output(1,2,A)
Output(1,6,B)
Output(1,10,C)
Output(1,14,D)
Output(4,2,E)
Output(4,6,F)
Output(4,10,G)
Output(4,14,H)
Output(7,2,I)
Output(7,6,J)
Output(7,10,K)
Output(7,14,L)
Pause
EffEcr
Disp "SOLUTION ?"
Input "(1:OUI, 2:NON)", M
If M=1
Then
Disp "X ="
Output(3,5,X)
Disp "Y ="
Output(4,5,Y)
Disp "Z ="
Output(5,5,Z)
Else
EffEcr
Output(1,1"
Stop
End |
Bon jeu
|
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Lun 08 Nov 2010, 20:08
|
|
|
Et sinon tu as la fonction matAléat!
Sangohan38
|
|
|
|
Persalteas
Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Lun 08 Nov 2010, 20:21
|
|
|
matAléat(nombre de colonnes, nombres de lignes.)
en anglais c'est la fonction randM(
|
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Lun 08 Nov 2010, 21:51
|
|
|
Mais la fonction randM génère-t-elle des matrices ayant une solution ?
Pour afficher la matrice à l'écran : Pause [A]
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 09 Nov 2010, 13:08
|
|
|
Des matrices ayant une solution? Ca n'existe pas ça mais tu parle sans doute de matrices ayant un déterminant non nul et dans ce n'est pas le cas vu que la matrice à des coefficients aléatoires.
Sangohan38
|
|
|
|
raboulave
Autorisation : Membre
Nb de messages : 57
Inscrit le : Jeu 08 Oct 2009, 20:56
|
Posté le : Mar 09 Nov 2010, 18:47
|
|
|
Oups là je connaissais pas cette fonction désolé Mais j'ai résolu une matrice, j'avais : x = 2, y = 155/161 et z = 166/161 et ... ça marchait Mais moi ce que je trouve plus rigolo, c'est que les solutions soient toutes entières, c'est plus rapide et au moins on n'a pas à vérifier, ça se voit tout de suite.
Et puis maintenant que j'ai mon zoli programme, je préfère l'utiliser plutôt que matAléat( ^^
|
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 09 Nov 2010, 18:52
|
|
|
Résoudre une matrice? Faut vraiment que tu (re)vois le cours sur les matrices (ici).
De plus visiblement ton programme résout 3 équations à 3 inconnues et cela n'est possible que si le déterminant de ta matrice est non nul sinon l'inversion de celle-ci est impossible.
Sangohan38
|
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 11 Nov 2010, 0:03
|
|
|
Je ne connais rien aux propriétés magiques des matrices.
Je ne connais que le principe du système linéaire à plusieurs inconnus.
Quand je parle de résolution, je veux dire chercher les inconnues, en passant entre autre par Gauss-Jordan.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 11 Nov 2010, 6:15
|
|
|
C'est bien ce qu'il me semblais.
Pour que ta matrice ne sois pas singulière, il faut que sont déterminant soit non nul sinon la calculatrice affiche une belle erreur.
Sangohan38
|
|
|
|
raboulave
Autorisation : Membre
Nb de messages : 57
Inscrit le : Jeu 08 Oct 2009, 20:56
|
Posté le : Ven 12 Nov 2010, 20:09
|
|
|
Ouais, bon, en gros c'est pour résoudre 3 équations à 3 inconnues quoi
|
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 12 Nov 2010, 21:28
|
|
|
En utilisant des nombres aléatoires...
Mieux vaut utiliser la matrice inverse des coefficients de tes équations.
Mais pour sa, il faut surtout pas oublier l'ordre de multiplication des matrices (je sens qu'un cours s'impose).
Sangohan38
|
|
|
|
Métalocif
Autorisation : Membre
Nb de messages : 92
Inscrit le : Lun 10 Mai 2010, 19:24
|
Posté le : Lun 15 Nov 2010, 16:54
|
|
|
T'as bien raison
J'arrive à piger comment ça marche,mais pourquoi faire,c'est autre chose...
On peut résoudre 3 équations à 3 inconnues avec?
On peut faire un programme avec ça?
---------------------- "On ne ment jamais autant qu'avant les élections, pendant la guerre et après la chasse." Clémenceau |
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Lun 15 Nov 2010, 23:21
|
|
|
Oui.
Les propriétés des matrices sont démentielles et puissantes.
L'une de ces propriétés est que les systèmes à plusieurs inconnues peuvent être saisies dans une matrice. Et la fonction Gauss-Jordan simplifie les systèmes au maximum, aidant à leur résolution.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
|
|
|
Métalocif
Autorisation : Membre
Nb de messages : 92
Inscrit le : Lun 10 Mai 2010, 19:24
|
Posté le : Ven 19 Nov 2010, 20:25
|
|
|
On utilise quelles fonctions pour faire ça?
(on peut résoudre n équations à n inconnues ou y a une limite?)
Dans un programme,on:
-rentre les équations dans la matrice => autant de lignes que d'équations? Comment on rentre les équations?
-utilise Gauss-Jordan => y a une fonction ou c'est automatique?
-le système est résolu ou pas? Qu'est-ce qui "sort" de la TI?
Si il y a un volontaire pour répondre à toutes mes questions,merci à lui par avance!
---------------------- "On ne ment jamais autant qu'avant les élections, pendant la guerre et après la chasse." Clémenceau |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 20 Nov 2010, 11:20
|
|
|
Si ton système admet une seule solution, tu peut utiliser la fonction Gauss-Jordan.
Je ne peux pas t'expliquer le fonctionnement vu que je ne l'utilise jamais par contre j'utilise l'inversion de matrice pour résoudre mes systèmes.
En effet, pour toute matrice avec un déterminant non nul (cad si l'équation admet une seule solution), la matrice de tes coefficients est inversible (pour une matrice A il existe une matrice A^-1 tel que A*A^-1=A^-1*A=I avec I la matrice identité (une matrice dont la diagonale est remplie de 1 et le reste de 0)).
Ainsi pour le système:
2x+y=4
5x+4y=-2
On peut l'écrire sous forme de matrice:
[2 1]*[x]=[4]
[5 4] [y] [-2]
On vérifie que le déterminant est non-nul: 2*4-5*1=3 donc c'est bon, la matrice des coefficients est inversible.
Cette équation matricielle de la forme A*B=C est donc équivalente à:
A^-1*A*B=A^-1*C (car je le répète, la multiplication de matrice n'est pas commutative!)
Or on sait que A^-1*A=I et que I*A=A (pour tout A)
Donc B=A^-1*C
Sangohan38
|
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 20 Nov 2010, 13:41
|
|
|
Citer | une matrice dont la diagonale est remplie de 0 sauf sur sa diagonale |
Aïe pas clair
Et je crois que tu as fait des fautes de frappe dans ton système matriciel.
=====
J'illustrerais bien d'une façon plus directe.
système :
AX+BY=S
CX+DY=T
matrice :
[A,B,S]
[C,D,T]
A partir de là on a plusieurs méthodes.
1-celle de sangohan38
2-La fonction Gauss-Jordan dans le menu Matrice>MATH
Gauss-Jordan([A]) donne la matrice d'une équation équivalente mais simplifiée (à sauver avec sto)
Exemple (très) simple : Si le résultat de Gauss-Jordan est
[0,1,1]
[1,2,4]
alors 0X+1=1<=> Y=1
et 1X+2*1=4 <=> X=2
Hélas Gauss-Jordan a la manie de souvent donner des valeurs décimales.
3-sûrement une que j'ignore.
NOTABENE= la méthode1 s'applique uniquement aux matrices carrées, et la méthode 2 s'applique à presque TOUTES les matrices.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Dim 21 Nov 2010, 12:10
|
|
|
Effectivement quelques erreurs s'étaient glissées dans mon explication mais c'est corrigé.
Sangohan38
|
|
|
|
Métalocif
Autorisation : Membre
Nb de messages : 92
Inscrit le : Lun 10 Mai 2010, 19:24
|
Posté le : Lun 22 Nov 2010, 21:26
|
|
|
Je savais déjà pour la matrice identité.
J'ai encore des questions ^^ :
- où est Gauss-Jordan? Je le vois pas dans Matrix->MATH.
- tu rentres une équation sous forme de matrice compliquée et il te sort la quasi solution? Pas moyen d'aller plus loin pour la TI?
- la syntaxe c'est Gauss-Jordan([A])->[B] par exemple?
- on voit tout ça en terminale S spé math ?
---------------------- "On ne ment jamais autant qu'avant les élections, pendant la guerre et après la chasse." Clémenceau |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 23 Nov 2010, 7:38
|
|
|
Alors dans l'ordre:
-Va voir dans le catalogue.
-C'est pas une quasi-solution, c'est la solution si une seule solution est possible.
-Aucune idée.
-Idem mais je crois pas.
|
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 25 Nov 2010, 19:10
|
|
|
Gauss-Jordan en français, c'est rref en anglais.
Le calcul avec inversion de matrice donne LA solution, si elle est unique.
Gauss-Jordan ne donne pas directement la solution.
Oui on fait bien Gauss-Jordan([A])->[B]
Je n'ai encore jamais vu ça au lycée. Je ne sais pas si c'est au programme.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
|
|
|