| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Neuer Benutzer Registriert seit: 23.03.2009
Beiträge: 14
![]() | Hallo! Ich habe eine Matrix A: 1 1 0 1 1 0 Diese Matrix stelle ich in PHP ja wohl am besten als zweidimensionales Array dar, oder? Jetzt möchte ich die Singulärwertzerlegung (A=USV) daraus programmieren. Könnt ihr mir dabei helfen? Das wäre super! Danke im Voraus! Wer nicht weiß, was "Singulärwertzerlegung" ist, kann hier klicken. |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 05.09.2007
Beiträge: 5.044
![]() | Für Python gibt es die numpy Bibliothek und diese stellt eine Methode zur Berechnung der Matrizen bereit. Für PHP kenne ich nichts vergleichbares. |
| | |
| | |
| Neuer Benutzer Registriert seit: 23.03.2009
Beiträge: 14
![]() | Danke, sieht gut aus. Muss ich mir mal angucken. Ich habe noch einige Links rausgesucht, auf denen die SVD erklärt wird: http://fed.matheplanet.com/mprender....ringid=1080115 Singular Value Decomposition (SVD) tutorial SVD and LSI Tutorial 4: Latent Semantic Indexing (LSI) How-to Calculations Singulärwertzerlegung – Wikipedia Und der QR-Algorithmus: QR-Algorithmus – Wikipedia Vielleicht kann mir damit noch jemand in PHP weiterhelfen? |
| | |
| | |
| Neuer Benutzer Registriert seit: 23.03.2009
Beiträge: 14
![]() | OK, ich versuchs! ![]() Also hier findet man auf jeden Fall schon mal eine JavaScript-Version. Da kann man sich vielleicht etwas abgucken oder es komplett in PHP umschreiben: http://users.telenet.be/paul.larmuseau/SVD.htm Mein Ansatz: 1) A = USV 2) Man muss die Eigenwerte und Eigenvektoren von AAT und ATA finden 3) Die Eigenvektoren von ATA bilden die Spalten von V 4) Die Eigenvektoren von AAT bilden die Spalten von U 5) Die Singulärwerte in S sind die Quadratwurzeln der Eigenwerte aus AAT oder ATA; die Singulärwerte sind die diagonalen Elemente von S Zu 3, 4 und 5: Man muss AAT zu einer nxn-Matrix machen: Von dieser Matrix kann man dann die Eigenwerte nehmen. Dasselbe gilt für ATA. Das ist der Ansatz. Könnt ihr mir jetzt vielleicht helfen, das zu programmieren? Das wäre echt super, ich hab mir da jetzt so viel durchgelesen in den letzten Wochen (auch bevor ich hier gefragt habe), es wäre schade, wenn das umsonst war. Und einen Ansatz habe ich ja. Das oben ist eigentlich der komplette Lösungsweg. Den muss man "nur" noch programmieren. |
| | |
| | |
| Neuer Benutzer Registriert seit: 23.03.2009
Beiträge: 14
![]() | Also ich habs jetzt mal versucht. Ich habe bisher geschafft: 1) Matrix A wird in Array dargestellt und ausgegeben 2) Matrix A wird transponiert zu A' (AT) und ausgegeben 3) Produkt von AA' (AAT) wird berechnet und ausgegeben 4) Produkt von A'A (ATA) wird berechnet und ausgegeben Hier kann man es sehen: http://wp1080088.wp029.webpack.hosteurope.de/_svd.php Als nächstes müsste ich die Eigenwerte berechnen. Ich habe aber keine Ahnung wie. Hab gelesen, man könnte den QR-Algorithmus verwenden. Der scheint auch ziemlich einfach zu sein, verwendet aber die QR-Zerlegung. Die verstehe ich kein bisschen. Könntet ihr mir an dieser Stelle noch einmal weiterhelfen? Das wäre super! |
| | |
| | |
| Neuer Benutzer Registriert seit: 23.03.2009
Beiträge: 14
![]() | Sorry wegen Doppelpost, aber ich bin jetzt schon ziemlich weit und brauche nur noch ein kleines bisschen Hilfe, dann bin ich fertig: Meine Rechnung am Beispiel einer Matrix Ich habe es jetzt geschafft, für eine Matrix und ihre transponierte Matrix einen Eigenwert zu finden (im Beispiel: 0.133). Ich löse die Gleichung ... (5-x)*(25-x)-11*11 = 0 ... mit der Bisektion auf. Als Ergebnis bekomme ich 0.133. Der andere Eigenwert (29.866) fehlt mir aber. Gibt es eine Möglichkeit, den auch noch irgendwie zu finden? |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] PHP-Gästebuch selbst programmieren | PHP Tipps 2005-2 | 10 | 30.05.2009 13:27 | |
| Lockeres Programmieren , mit freundlichem Team ! | WM-PROJEKT | Beitragsarchiv | 6 | 06.01.2009 23:55 |
| Problem mit foren suche programmieren! | litterauspirna | PHP Tipps 2008 | 4 | 17.08.2008 12:17 |
| Suche nach Framework für schnelles programmieren | BLACK | PHP Tipps 2008 | 4 | 13.08.2008 04:54 |
| Framework programmieren | Kein Genie | PHP-Fortgeschrittene | 2 | 29.04.2008 16:57 |
| Wie programmieren? | dh1sbg | Off-Topic Diskussionen | 5 | 02.03.2007 15:59 |
| Würfel programmieren | Datenbanken | 4 | 19.08.2005 17:43 | |
| internetauftritt in php programmieren | PHP Tipps 2005-2 | 11 | 25.07.2005 20:55 | |
| Kommentarfunktion programmieren | PHP Tipps 2005-2 | 15 | 22.07.2005 08:39 | |
| Wer kann mir ein Partyportal programmieren ? | Beitragsarchiv | 1 | 08.07.2005 16:43 | |
| Volltextsuche programmieren | BigManu | PHP Tipps 2005 | 6 | 02.06.2005 11:24 |
| [Erledigt] php programmieren | PHP Tipps 2005 | 7 | 02.05.2005 23:24 | |
| [Erledigt] PHP programmieren | PHP Tipps 2004 | 7 | 18.09.2004 17:07 | |
| Anmeldeformular programmieren | PHP Tipps 2004 | 2 | 30.06.2004 01:06 | |