|
|
| kramka |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2012, 12:17
Titel: Matrizen zerlegen
|
 |
| |
 |
|
Hallo,
ich habe hier eine ( zumidest für mich) etwas kompliziertere Programmieraufage für Matlab und stehe irgendwie seit 2 Tagen auf der Stelle.
Es geht darum, aus einer Matrix mit 26*84096 Daten ( A(26,84096) ) immer zwei Zeilen in eine neue Matrix zu stecken und dann dort die NaN Werte zu eliminieren. Dies soll für jedes Zeilenpaar A(i,j) passieren.
Also A(1,1) , A(1,2) , .A(1,3), .... A(26,26).
Aus jeder dieser neuen Matrix berechne ich dann die euklidische Distanz und packe diese dann in eine neue Matrix.
( Also im Prinzip eine Clusteranalyse, nur halt für jedes Paar einzeln, da die einzelnen Zeilen zu viele NaN Werte haben )
Leider scheitere ich im Moment noch beim 1. Schritt.
Meine einzige Idee war es bis jetzt eine Doppelschleife zu bauen
etwa derart:
leider bekomme ich dann immer den Fehler:
??? Subscripted assignment dimension mismatch.
Error in ==> (Name)
variable(1,: ) = tmat(i,: );
Ich kenne mich leider nicht so gut in Matlab aus. Nach ein bischen Googlen habe ich zwar verstanden was die Fehlermeldung besagt, aber auf mein Problem angewendet versteh ich sie nicht.
Daher hätte ich zwei Fragen:
Warum erscheint diese Fehlermeldung bei mir?
Wie kann ich diese umgehen?
Ich hoffe Ihr könnt mir helfen
Mit freundlichen Grüßen
Kramka
|
|
|
|
|
|
| kramka |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2012, 13:35
Titel:
|
 |
Ok hab es hinbekommen.
Allerdings ziemlich umständlich. Wenn jemand eine einfachere Lösung ohne Schleife parat hat, währe ich sehr danbar.
Auch für den weiteren Verlauf der Aufgabe bin ich nicht wirklich mit meiner Lösungsidee zufrieden.
Bei der Distanzmatrix angekommen suche ich mir jetzt das Zeilenpaar mit der niedrigsten Distanz aus und bilde hiermit das nanmean. also hab ich statt 26 verschiedenen Zeilen nurnoch 25, wobei eine halt einen Mittelwert enthält.
Nun geht das ganze von Vorne los. Solange bis ich genügend NaN Werte eliminiert habe um eine sinnvolle Clusteranalyse zu machen.
Mit Schleifen, so wie ich die erste minimale Distanz bekommen hab würde der Code ja explodieren und wohl meinen Rechner überfordern -.-
Hoffentlich hat jemand eine Idee, wie man das besser Programmieren kann.
Lg
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|