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

Cells nach größtem Wert durchsuchen

 

Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 24.01.2011, 16:48     Titel: Cells nach größtem Wert durchsuchen
  Antworten mit Zitat      
Hi,

gibt es irgendeine Möglichkeit cells nach
dem größten Wert zu durchsuchen?

Danke
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 24.01.2011, 17:11     Titel:
  Antworten mit Zitat      
Hallo Achi,
Code:

values = {1, 2, 6, 4, 3};
max_value = max(cellfun(@max, values));
disp(max_value); % -> 6
 

_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 24.01.2011, 17:18     Titel:
  Antworten mit Zitat      
Hallo,

oder so (fuer numerische Cells):
Code:

mat = cell2mat(values);
max(mat(:))
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 24.01.2011, 17:19     Titel:
  Antworten mit Zitat      
Schau gut aus, ich werd dann mal ausprobieren.
Matlab ist gerade noch in Gebrauch.

Noch eine Frage, kanns ja gerade nicht ausprobieren.
Wenn ich den größten Wert habe, will ich nur noch Werte
benutzen die wenigstens 1/10 davon sind.
Ifabfragen lassen cells zu oder?

if {x}>0.9*maxwert
....


geht sowas?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 24.01.2011, 17:32     Titel:
  Antworten mit Zitat      
folgendes funktioniert auf jedenfall:
Code:

if values{1} > 0.9 * maxwert
...
 

_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2011, 17:34     Titel:
  Antworten mit Zitat      
Hallo,

wenn du mit numerischen Daten aus einem Cell Array arbeiten willst, ist es in der Regel am geschicktesten, sie einmal mit cell2mat umzuwandeln und sich dann nicht mehr mit den Cell Arrays herumschlagen zu müssen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 24.01.2011, 17:35     Titel:
  Antworten mit Zitat      
Hallo,

geht nach dem selben Prinzip wie bei den vorherigen Beispielen:
Code:

idx = cellfun(@(x) x>0.9*maxwert, values)

mat = cell2mat(values);
mat>0.9*maxwert
 


MFG

Sco

Zuletzt bearbeitet von Sco am 24.01.2011, 17:36, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 24.01.2011, 17:35     Titel:
  Antworten mit Zitat      
Vielen Dank,

soabld hier meine Simulation durch ist werd ichs testen!!!!
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.01.2011, 18:00     Titel: Re: Cells nach größtem Wert durchsuchen
  Antworten mit Zitat      
Hallo SCO!

Ha, jetzt eben gerade ist es wieder passiert. Ich hatte diesen Thread zum Antworten geöffnet und habe dann den Rechner für eine halbe Stunde verlassen. Ich kam zurück und habe den Back-Button des Browsers gedrückt um zu sehen, ob inzwischen jemand geantwortet hat -- nix! Also wieder auf "Antworten" gedrückt und eine Antwort verfasst. Und vor dem Absenden sehe ich plötzlich Peters, Achis, Scos, Peters, Haralds, Scos und Achis Antwort.

Der Back-Button des Browsers reicht also nicht. Ich muss noch warten, bis sich die Anzeige updated oder den Reload-Knopf drücken.
Oder natürlich nicht während des Antwortens Kaffeetrinken gehen ;-)

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

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 24.01.2011, 18:16     Titel:
  Antworten mit Zitat      
Ich hab jetz Peters Version ausprobiert...
aber anscheinend kann dise Funktion nicht
mit leeren Cells umgehen? Ich bekomme
den Fehler:

??? Error using ==> cellfun
Non-scalar in Uniform output, at index 37, output 1.
Set 'UniformOutput' to false.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.01.2011, 18:18     Titel:
  Antworten mit Zitat      
Hallo Achi,

Bitte erkläre doch mal, welche Daten in den Cell-Elementen stehen. Dann läßt sich das Problem eventuell viel einfacher lösen.

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

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 24.01.2011, 18:28     Titel:
  Antworten mit Zitat      
Also die Daten sind numerisch.
Kleiner Ausschnitt:

zeitverzoegerung(:,:,55) =
Columns 1 through 11
[] [] [] [] [] [] [] [] [] [] []
Columns 12 through 21
[] [] [] [] [] [1.3800e-015] [] [] [] []

wie man sieht meistens steht nix drin, und da ich total übermüdet bin hab ich etwas falsches gesagt, ich brauch den kleinsten Wert. Null und negativ kanns nicht werden, da es ja eine Zeitverzögerung ist.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.01.2011, 19:13     Titel:
  Antworten mit Zitat      
Hallo Achi,

Ein "kleiner Ausschnitt" hilft schon mal ein bisschen. Eine exakte Beschreibung der Dimensionen wäre allerdings besser.

Hilft es, alle Werte des CELL-Arrays in einen Vektor zusammenzufassen?
Code:
Werte = cat(1, zeitverzoegerung{:});

Danach kannst Du per MIN oder MAX die gewünschten Werte finden, falls ich Dein Problem richtig erfasst habe.

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

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 25.01.2011, 09:06     Titel:
  Antworten mit Zitat      
JAN,

DANKE!!!
JA das war genau was ich gesucht habe.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.