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

Problem bei Matrixerweiterung

 

Senraphil
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 16.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2014, 09:10     Titel: Problem bei Matrixerweiterung
  Antworten mit Zitat      
Hallo liebe Gemeinde,

bei der Erweiterung meiner Matrix habe ich folgende Schleife verwendet:
Code:
v=zeros(1,10);
for k=2:size(data,1)-1
    if isnan(data(k,2))
        data=[data(1:k,:);v;data(k+1:end,:)];
    end
end




Jetzt ergibt sich ein kleines Problem: Matlab fügt mir nur eine bestimmte Anzahl an neuen Zeilen ein, bis der Datensatz aus insgesamt 560 Zeilen besteht. Das bedeutet, er hört ab Zeile 420 auf, neue Zeilen einzufügen.
Meine Vermutung nun:
Der Ausgangsdatensatz hat 560 Zeilen, den ich anhand eines Kriteriums zunächst reduziere.
Anschließend möchte ich eben leere Zeilen einfügen, wenn die if-Bedingung erfüllt ist. Nun vermute ich, dass Matlab nur so lange neue Zeilen einfügt, bis die Größe des ehemaligen Originaldatensatzes wieder erreicht ist.
Wie kann ich das Problem lösen, damit Matlab mir immer neue Zeilen einfügt, wie die if-Bedingung erfüllt ist?

Ich hoffe jemand kann mir weiterhelfen.

Beste Grüße
Senraphil
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.05.2014, 09:58     Titel:
  Antworten mit Zitat      
Code:
for k=2:size(data,1)-1
berücksichtigt nicht die längenänderung während des schleifen druchlaufs glaube ich.
versuch mal so etwas
Code:
while k<size(data,1)-1
bla bla...
k=k+1;
end

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Senraphil
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 16.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2014, 12:06     Titel:
  Antworten mit Zitat      
Hallo Winkow,

ich denke, dass wäre eine Möglichkeit.
Allerding hab ich deinen Vorschlag gerade mal getestet und die Rechenzeit ist viel zu lang (>1std.).
Ich denke das Abbruchkriterium ist eventuell nicht richtig gewählt.
Ich wüsste allerdings jetzt auch nicht, wie es aussehen müsste.
HAst du vielleicht einen Vorschlag?
Private Nachricht senden Benutzer-Profile anzeigen
 
Senraphil
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 16.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2014, 12:43     Titel:
  Antworten mit Zitat      
Hat sich mittlerweile erledigt.

Hab meinen Fehler gefunden und beheben können.
Hab das Abbruchkriterium vershentlich in die falsche Zeile geschrieben.

Vielen Dank Winkow.
Funktioniert alles super!
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.