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

Struct bestimmte Werte und Zeilen löschen

 

ansc
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2015, 12:07     Titel: Struct bestimmte Werte und Zeilen löschen
  Antworten mit Zitat      
Hallo mal wieder,

ich habe da nochmal zwei kurze Fragen.
Also ich habe ein struct mit 8 Spalten und ein paar 1000 Zeilen. Zuerst geht es um die letzte Spalte, in den einzelnen Feldern der Spalte sind unterschiedlich viele Werte vorhanden, ich möchte jetzt aus allen Felder, in denen mehr oder weniger als 15 Werte stehen den Inhalt löschen. Dazu habe ich gestern diesen Code verwendet
Code:
count = 0;
for k = 1:length(NN)
    if length(NN(k).not_unique_values)~=15
        NN.not_unique_values(k) =[];
        count = count + 1;
    end
end


Das hat gestern auch wunderbar funktioniert, heute bekomme ich aber immer die Fehlermeldung:
Scalar structure required for this assignment.
Error in test (line 5)
NN.not_unique_values(k) =[];


Vielleicht habe ich irgendwas verändert ohne es mitzubekommen, sonst kann ich mir gerade nicht erklären warum es nicht mehr funktioniert.

Und zur zweiten Frage:
Wenn ich die entsprechenden Felder geleert habe würde ich gerne die Felder der entsprechenden Zeilen in den anderen Spalten auch löschen. Also alle Zeile löschen, wo in der achten Spalte [] steht.
Wäre es dann sinnvoll etwas in dieser Art zu schreiben:
Code:

if NN.not_unique_values == [];
    new = rmfield(NN,fields);
end


Oder würde das nicht funktionieren?

Vielen Dank schonmal für eure Mühe
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: 29.10.2015, 12:22     Titel:
  Antworten mit Zitat      
Zitat:
if length(NN(k).not_unique_values)~=15
NN.not_unique_values(k) =[];

das verwirrt mich ein wenig. warum ändert sich da die position von k? das sind doch 2 unterschiedliche dinge.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
ansc
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2015, 12:32     Titel:
  Antworten mit Zitat      
Und schon hast du mein erstes Problem gelöst. Muss ich wohl irgendwie die Stelle von k verändert haben.
Vielen Dank schonmal Smile
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.