Hallo, wie rechne ich am besten mit einem AVR uC Matrizen aus? Gibt es dazu ne Library oder muss ich jeden Schritt manuell ausrechnen bzw. mir selber Funktionen schreiben. Es geht vor allem um Skalarprodukte, Matrizenmultiplikation, transponierte und inverse Matrizen. Gruß Hans
du könntest dir die Funktionen "schreiben lassen" (wenn die Formel und die Dimensionen schon vorher feststehen). Früher™ gabs dazu mal in Maple (oder wars Mathematica? schon länger her...) einen C-Code-Generator, der da halbwegs voroptimierten (aber total unlesbaren) Code ausgespuckt hat.
Ich habe es befürchtet. Nun ja dann wird es eben noch aufwendiger. Gruß Hans
Mit etwas Linearer Algebra sind diese Berechnungen eher trivial. Und fuer gehobene Anforderungen sind die C-Libraries eh nicht brauchbar.
Hans schrieb: > Es geht vor allem um Skalarprodukte, Matrizenmultiplikation, > transponierte und inverse Matrizen. Sowas ist ne gute zu-Fuß-Übung für Arrays. Also selber schreiben :-) z.B. Skalarprodukt (hoffe es stimmt so):
1 | int a[3] = {1,2,3}; |
2 | int b[3] = {2,4,6}; |
3 | |
4 | int skalarprodukt(int a[], int b[], int dimension) |
5 | {
|
6 | int ergebnis = 0; |
7 | for(int i = 0; i < dimension;i++) |
8 | ergebnis += a[i] * b[i]; |
9 | |
10 | return ergebnis; |
11 | }
|
Einfach so realisieren, wie dus per Handrechnen slber machen würdest. :-)
Genau so (oder so ähnlich) werde ich es wohl machen. Ich dachte nur dass Matrizen nichts so ungewöhliches sind und es daher schon was fertiges gibt. Man muss das Rad ja nicht jedes Mal neu erfinden. Trotzdem Danke
Hallo, ich würde mal in "numerical recipes in C" nachschauen. Da kann man sich zumindest für die Implementierung ein paar Anregungen holen... Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.