WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zeilen aus großer sparse-Matrix übernehmen

 

Alpha23
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 11.09.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2009, 14:32     Titel: Zeilen aus großer sparse-Matrix übernehmen
  Antworten mit Zitat      
Hallo!

Ich habe folgendes Problem: Ich habe eine sparse-Matrix der Größe 200.000x200.000 mit ca. 300.000 Einträgen, maximal zwei Stück pro Zeile. Die Matrix ist außerdem sparse und logical.
Jetzt habe ich noch einen logischen 200.000x1-Vektor v, der mir sagt, welche Zeilen der alten Matrix ich in meine neue übernehmen will.
Der Aufruf
Code:
A_neu(v,:)=A_alt(v,:);

dauert ganze 30 Sekunden! Und hier liegt das Problem, denn ich muss den Aufruf ca. 100.000x ausführen.
Auch wenn ich ein pre-allocating mache mit
Code:
r=length(A_alt);
A_neu=spalloc(r,r,10*r);

ändert sich nichts an der Laufzeit.

Einen Test habe ich mal gemacht mit
Code:
[a,b]=find(A_alt(v,:));
for i=1:length(a)
    A_neu(a(i),b(i))=1;
end

Hier dauert es so lange, dass ich abbrechen muss bzw. MATLAB sogar über den Taskmanager schließen muss, weil der Strg-C-Befehl nicht geht!

Was läuft hier falsch? Danke für eure Antworten!
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.