ArchiRADAR Forum
ArchiRADAR Forum =>
GDL => Topic aperto da: six - 22 Giugno 2012, 13:56
-
Ciao a tutti! Avrei una curiosità/necessità: si possono fare in gdl delle operazioni con le matrici? Non ci sono comandi per calcolare, ad esempio, il determinante della matrice o simili, vero? Mi sono però imbattuto in un passaggio criptico della gdl reference guide: "EXPRESSIONS AND FUNCTIONS". Non ci ho capito praticamente nulla, ma sembra cha abbia a che fare con delle matrici di dimensioni attribuibili. Giusto? Qualcuno sa spiegarmi a grandi linee come funziona? Queste linee si possono utilizzare per fare conti??
Grazie
-
EXPRESSIONS AND FUNCTIONS è il titolo di un capitolo, quello in cui sono appunto elencate le espressioni e le funzioni utilizzabili nel GDL.
In questo linguaggio, come in altri, una Matrice è una variabile multipla, che può avere una o due serie di valori.
Ciò serve solo a mantenere memorizzati insieme dei valori correlati (ad esempio le coordinate dei vertici di un poligono), senza dover definire tante variabili singole. Non è però prevista nessuna operazione diretta sui valori delle matrici.
-
Grazie per la spiegazione, ma vorrei aggiungere un esempio pragmatico per chiarire, a chi come me non è un programmatore, come possa essere utilizzato il comando DIM legato alle matrici.
Ho fatto qualche prova, ho mandato in crash qualche volta il programma, ma alla fine sono riuscito a capirne il funzionamento.
ESEMPIO PRATICO
DIM a[][]
a[1][1]=2
a[1][2]=-3
a[2][1]=-6
a[2][2]=4
DIM b[][]
b[1][1]=3
b[1][2]=1
b[2][1]=3
b[2][2]=2
DIM c[][]
!!SOMMA MATRICI!!
FOR i=1 TO 2
FOR j=1 TO 2
c[i ][j]=a[i ][j]+b[i ][j]
PRINT c[i ][j]
NEXT j
NEXT i
END
Nel nostro caso DIM è il comando che dice "Fai una matrice i cui elementi sono a[][]" . "a" indica che la matrice "A" ,idealmente creata da DIM (non viene battezzata in nessun modo) è costituita dagli elementi "a",il primo [] indica lil numero di righe e il secondo [] il numero di colonne della matrice. Siccome all'interno delle parentesi [] non abbiamo messo un numero, la matrice si adatta al numero di elementi assegnati di seguito (nel nostro caso 2X2).
Allo stesso modo si crea una matrice B ed una matrice C. Di quest'ultima, però, non si forniscono subito i valori degli elementi perchè sono l'oggetto del calcolo seguente: Cij=Aij+Bij.
Spero che a qualcuno possa essere utile!!!