|
MountainDude |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 26.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2015, 14:07
Titel: Max/Min in Table
|
 |
Hallo Leute,
ich versuche bei einem Table das Maximum oder die Maxima (es kann mehrmals der gleiche Wert auftauchen) einer Spalte zu finden. Bei der Ausgabe soll das Maximum/Maxima und eine ID die dem Messwert zugeordnet ist und in einer weiteren Spalte steht, ausgegeben werden.
Zur Info: Eine Spalte mit Zeitdifferenzen,Format(dd:MM:yyyy hh:mm:ss) und eine Spalte mit zugehöriger ID (double).
Nur das Maximum zu finden macht mir schon Probleme:
max(test(:,6))
%Undefined function 'max' for input arguments of type 'table'
Wäre sehr dankbar für eure Hilfe.
Gruß Max
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.11.2015, 14:51
Titel:
|
 |
Hallo,
du musst { } verwenden, um auf den Inhalt der Spalte zuzugreifen:
Einer der Vorteile von Tables ist, dass man auch den Spaltennamen verwenden kann:
oder
Grüße,
Harald
|
|
|
MountainDude |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 26.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2015, 15:33
Titel:
|
 |
Ah ok danke schonmal.
Und wie geht das dann mit der Adressierung einer anderen zugehörigen Spalte? Funktioniert das mit where und dann den Ausgabewert wieder im table suchen?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.11.2015, 15:49
Titel:
|
 |
Hallo,
mir ist in MATLAB nichts von einem where bekannt. Eher so:
Grüße,
Harald
|
|
|
MountainDude |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 26.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2015, 22:23
Titel:
|
 |
Danke Harald, so hats funktioniert.
Nur wenn ich mehrere Felder mit dem gleichen Minimal/Maximalbetrag habe, sagt MATLAb mir, dass das so nicht geht.
[maxAbweichung, idx] = max( test.tdiff )
%Indexing cannot yield multiple results.
Welche Möglichkeit gibt es, sich mehrere Ergebnisse ausgeben zu lassen?
Danke schonmal
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.11.2015, 23:50
Titel:
|
 |
Hallo,
ich verstehe noch nicht, inwiefern sich dies von dem vorherigen Beispiel unterscheidet. Bitte ein konkretes, reproduzierbares Beispiel.
Grüße,
Harald
|
|
|
MountainDude |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 26.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.11.2015, 11:36
Titel:
|
 |
Ich versuche jetzt die jeweiligen Maxima/Minima aus den Spalten tdiff, tdiff2 und tdiff3 zu erhalten und die zugehörige deviceid auszugeben. Die maximalen Zeitdifferenzen können mehrmals vorkommen, deswegen will ich für jeden Maximalwert die zugehörige ID.
Unten ein Beispieltable.
Hier bekomm ich aber die Meldung: Indexing cannot yield multiple results.
Beim Minimum funktionierts, beim Maximum nicht...
Hoffe das ist so klarer geworden.
Gruß Max
Beschreibung: |
|
 Download |
Dateiname: |
bsp_table.mat |
Dateigröße: |
366.1 KB |
Heruntergeladen: |
473 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.11.2015, 12:04
Titel:
|
 |
Hallo,
bei mir läuft dein Code fehlerfrei durch.
Hast du vielleicht Variablen mit Namen min oder max angelegt? Das wäre keine gute Idee, da so die entsprechenden Funktionen überlagert werden.
Mit welchem Release arbeitest du?
Grüße,
Harald
|
|
|
MountainDude |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 26.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.11.2015, 13:09
Titel:
|
 |
Danke Harald, hat alles funktioniert.
Hab im workspace eine Variable max drinnen gehabt...
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|