Mehrdimensionales Array (Matrix) als Vektor speichern?
Manfred
- programmiertechnik
Hallo Leute,
ich bin gerade dabei einen Gleichungslöser für lineare Gleichungssysteme mit n Unbekannten zu schreiben. Der Lösungsalgorithmus wird dabei die Gauß-Elimination mit Pivotisierung verwendet. Zum Glück habe ich bereits einen Basisquelltext [http://www.mathworks.com/matlabcentral/fileexchange/45415-gaussian-elimination-with-pivoting-method] gefunden, an dem ich mich festhalten kann.
Mein Problem ist nun, dass ich das Ding in eine Programmierumgebung (die hier das Backend eines FE-Programms darstellt) packen muss, welche "nur" eindimensionale Arrays (Arrayindex läuft von 1 weg), also Vektoren, als Feldvariablen kennt.
Eine Matrix der Form: A = [a11, a12, a13; a21, a22, a23; a31, a32, a33] speichere ich folgendermaßen in einen Vektor: B = [a11, a12, a13, a21, a22, a23, a31, a32, a33].
Nun bin ich auf der Suche, nach einer "Formel", mit der ich jedes Element des Vektors ansprechen kann, wenn ich Zeilen- und Spaltenindex der Matrix vorgebe.
z.B.:
Matrixelement 1,1 entspricht Vektorelement 1
Matrixelement 2,1 entspricht Vektorelement 4
Matrixelement 3,2 entspricht Vektorelement 8
usw.
Hier möchte ich nun für Element 2,1 "nur" 2 und 1 eingeben müssen, um 4 zu erhalten. Oder 3 und 2 um 8 zu erhalten etc. ...
Anders scheint mir das geschilderte Problem nicht handelbar.
Hat jemand ein paar Ideen/Vorschläge/Lösungsmöglichkeiten für mich? Ich wäre euch darüber dankbar!
Lieben Gruß aus Österreich,
Manfred
Hallo Manfred,
2D-Array: i: 0...n; j: 0...m
1D Array: Index = i*m + j oder j*n + i
Gruß, Jürgen
Hallo,
2D-Array: i: 0...n; j: 0...m
1D Array: Index = i*m + j oder j*n + i
und wenn du bei 1 mit dem Zählen anfängst (eher unüblich)
Index = (i-1)*m + (j-1) + 1 oder ...
Gruß, Jürgen
Hallo,
2D-Array: i: 0...n; j: 0...m
1D Array: Index = i*m + j oder j*n + i
und wenn du bei 1 mit dem Zählen anfängst (eher unüblich)
Index = (i-1)*m + (j-1) + 1 oder ...
Gruß, Jürgen
Hallo Jürgen,
vielen, vielen lieben Dank. - Das hilft mir viel weiter!
Lieben Gruß,
Manfred
guck mal hier ungefähr in der Mitte (Zweidimensionale Arrays), da gehts um eine solche Transformation.
MfG
Hi Manfred,
ich nutze gerne das JSON-Format. Das kann x-dimensional sein.
Ist sehr leicht handle und transportierbar.
einfach in Php, JS, etc:
JSON-string --> in Array
und umgekehrt
Viele Grüße aus LA