dificultats: matrius amb elements buits

nidzela shared this question 11 years ago
Answered

tinc una graella 37x40 de dades al full de càlcul, però moltes de les caselles estan en blanc (i vull que ho siguin, de fet). quan demano que del rang me'n faci una matriu el geogebra no ho permet: diu que C2 no està definit (com la gran majoria de caselles...).


provo de fer EliminaNoDefinits[B2:AO38] i m'ha afegit 0 a totes les caselles buides! això em va malament, 0 era un dels valors possibles de la matriu original (afortunadament, el mínim).


he descobert que puc copiar i enganxar les dades a un full de càlcul extern i viceversa; allà he sumat 1 a les meves dades no-buides amb una simple fórmula: =SI(A1="";"";A1+1), de manera que el mínim s'ha transformat en 1. a continuació he traslladat les noves dades al geogebra; no sé si calia, però abans de calcar-les-hi he tingut la precaució de convertir-les en nombres sense fórmula (amb "enganxa només valors").


tenint les noves dades al geogebra, he provat d'eliminar els zeros amb TriaSi[ x>0,EliminaNoDefinits[rangCel·les[B2,AO38]]], però el resultat que he obtingut ha estat una nova contrarietat:

{1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 1, 1, 1, 1, 1}


jo necessito les línies-vectors, amb les seves longituds irregulars, i no una sola llista "endreçada"! però almenys, ara la graella és plena, o sigui, que he tornat als origens creant la matriu amb les dades "plenes"... ha funcionat, però té zeros!


l'opció directa TriaSi[ x>0,matriu1] m'ha convertit la llista en el conjunt {}.

la continuació natural és procedir per fileres:

TriaSi[ x>0,Element[matriu1, 1]] = {1} va bé.

TriaSi[ x>0,Element[matriu1, 2]] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40} també va bé.


per tant, he mirat de fer-ne una seqüència (l'emoció d'estar-m'hi apropant ha provocat una mica de suspens, per culpa d'algunes inoportunes errades tipogràfiques): Seqüència[TriaSi[ x>0, Element[matriu1, i]], i, 1, 36]... i EUREKA!

{{1}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, {5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 35, 36, 37, 38, 39, 40}, {11, 12, 13, 14, 26, 27, 28, 29, 30, 31}, {5, 11, 21, 26, 27}, {31}, {7, 13, 23}, {8, 14}, {20, 21, 22, 23, 37, 38, 39, 40}, {20}, {39, 40}, {4, 17, 34}, {4, 10, 17, 25}, {4, 10}, {31}, {27}, {28}, {39}, {38}, {10, 25}, {37, 38}, {18, 19, 35, 36}, {3, 4, 16, 17, 32, 33, 34}, {9, 10, 24, 25}, {6, 12, 22, 29, 30}, {36}, {19}, {4}, {4, 17, 34}, {27}, {27, 30}, {11}, {40}}


la meva pregunta és: què tenen de dolent (no he sabut fer-les funcionar) altres sintaxi com ara:

A) Seqüència[EliminaNoDefinits[rangCel·les["B"+n, "AO"+n ] ], n, 2, 38]

B) Seqüència[EliminaNoDefinits[rangCel·les[Text["B"+n], Text["AO"+n] ] ], n, 2, 38]

C) Seqüència[EliminaNoDefinits[rangCel·les[Objecte["B"+n], Objecte["AO"+n] ] ], n, 2, 38]


D) hi ha alternatives més simples, a tot plegat?

Comments (3)

photo
1

afegeixo:

tot plegat ha quedat així, a l'arxiu que he estat desenvolupant.

photo
1

tinc una graella 37x40 de dades al full de càlcul, però moltes de les caselles estan en blanc (i vull que ho siguin, de fet). quan demano que del rang me'n faci una matriu el geogebra no ho permet: diu que C2 no està definit (com la gran majoria de caselles...).


Crec que la manera que t'anirà bé d'indicar els elements no definits NO és la de deixar la casella en blanc sinó posar-hi un interrogant (?) que és el signe per als no definits que té com apropi el GeoGebra.


(si més no, fent això, ja es crea la matriu sense que s'hagin d'eliminar els no definits :wink: )


Realment el que comentaves de passar dades "al exterior", manipular-les, i tornar-les "a l'interior" era un procediment que, encara que hagués funcionat potser ens deixaria així: :anguished:


jo necessito les línies-vectors, amb les seves longituds irregulars, i no una sola llista "endreçada"!


L'ajuda ja diu ben clar que el comandament rangCel·les crea una llista...

però amblò dels interrogants se't crea la matriu i cada filera manté els no-definits (o diem-ne "definitds amb ?") que tenies al començament.


S'ha d'estar molt ficat en l'activitat que planteges per analitzar les sintaxis que proposes... se m'escapa del tot... però potser això d'escriure l'interrogant ho farà més senzill?

photo
1

gràcies per la idea, Antoni!

provaré això de l'interrogant, té aspecte de servir perfectament.


per a aclarir una mica el sentit de la matriu i els vectors anteriors, comentaré que la graella 37x40 pretenia resumir la relació entre objectes i escenes a fi de controlar l'aparició d'objectes al llarg del temps. com que l'aparició depèn també d'unes quantes caselles de verificació, el nombre final d'escenes a mostrar canvia. això incideix indirectament en la velocitat de reproducció de les escenes, que volia que es mantingués constant.


cada vector de la matriu correspon a un objecte, i les components n'indiquen les aparicions "primàries", que poden reduir-se segons les caselles de verificació activades. la irregularitat de la matriu es correspon a comportaments molt diversos de les aparicions. un cop aquest muntatge funcionava correctament va ser força senzill formar una condició que controlés la visibilitat dels objectes (quadrats, majoritàriament).


amb tot, acabo de veure que caldrà repassar-ho, sembla que els textos d'informació apareixen sempre, amb independència de les caselles de verificació.

:-)

© 2021 International GeoGebra Institute