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

Cell Array sortieren mit Befehl sortrows

 

Slamdunker23
Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 05.02.2013, 12:41     Titel: Cell Array sortieren mit Befehl sortrows
  Antworten mit Zitat      
Hallo zusammen.

Ich habe folgende Exceltabelle in Matlab eingelesen:

Code:

cell[6,4] :
{[NaN]      'Gewicht' 'Länge' 'Zufall'
 'Orange'   [1  ]     [1]     [4]      
 'Plaume'   [0.5]     [2]     [3]      
 'Banane'   [0.8]     [3]     [3]      
 'Apfel'    [0.9]     [4]     [2]      
 'Pfirsich' [0.2]     [5]     [4]     }
 


Nun möchte ich, beispielsweise die dritte Elemente der dritten Spalte Länge aufsteigend sortieren, sodass auch die Bezeichnungen der Reihen (Orange, Pflaume, etc.) übernommen wird.

Ich bekomme aber leider die Fehlermeldung:

COL must be numeric.

Ich denke es hat mit der Formatierung des Cell-Arrays zu tun.

Wie kann ich die Formatierung ändern, damit das Sortieren klappt?

Vielen Dank!

Gruß, Daniel
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.02.2013, 13:24     Titel: Re: Cell Array sortieren mit Befehl sortrows
  Antworten mit Zitat      
Hallo Slamdunker23,

Nun wäre es noch hilfreich zu wissen, welcher Befehl die Fehlermeldung erzeugt.

Zitat:
Nun möchte ich, beispielsweise die dritte Elemente der dritten Spalte Länge aufsteigend sortieren, ...

Die dritte Spalte hat nur ein drittes Element. Was möchtest Du also genau sortieren?

Ich vermute Du benötigst etwas wie:
Code:
D = [C{2:end, 3}];
[dummy, index] = sort(D);
C(2:end, :) = C(index + 1, :);

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 05.02.2013, 13:29     Titel:
  Antworten mit Zitat      
Entschuldigung, das habe ich vergessen.
Die Fehlermeldung kam mit dem Befehl sortrows:

Code:

result = sortrows(ans,{'Gewicht'});
 


Damit wollte ich die Inputtabelle nach der Spalte Gewicht sortieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 08.02.2013, 10:22     Titel:
  Antworten mit Zitat      
Vielen Dank. Ich war gestern auf einer MATLAB-Schulung in München und habe mich dort mit dem Thema nochmals beschäftigt.
Es funktioniert mit deinem Vorschlag Jan.

Herzlichen Dank.

Daniel
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.