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

Maximumwerte filtern

 

der_boesi
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 07.01.11
Wohnort: Hamburg
Version: 2010b
     Beitrag Verfasst am: 07.06.2011, 15:23     Titel: Maximumwerte filtern
  Antworten mit Zitat      
Schönen guten Tag.

Ich hab folgendes Problem.
Ich hab eine Datei mit Messwerten die ich einlese. Nun muss ich aber aus diesen Werten die Maximalwerte abspeichern um daraus eine Maximalkurve in Form eines 2D Plots zu machen.
Mein Problem ist das die Werte nach Drehzahlen sortiert sind und ich für jede Drehzahl den maximal wert brauche.

(Z.B. ich hab 10 Werte zu 1000 1/min dann 10 Werte zu 1500 1/min und davon muss ich jeweils zu 1000 1/min, 1500 1/min.... den Maximalwert filtern und abspeichern.)

Ich habe von meinem Professor folgenden Code bekommen aber ich versteh nicht so ganz was da passiert.

Ich bekomme nur folgende Fehlermeldung

??? Improper assignment with rectangular empty matrix.

Error in ...
I(j) = k(s);

Code:

N = NMIN:50:NMAX;                      %Drehzahlintervall
for j = 1:length(N);
     k                 = find(n==N(j));    %Index der Punkte mit gleicher Drehzahl
     [p_emax,s]  = max (p_e(k));     %Wert und Lage des Max wertes heraus finden
     I(j)              = k(s);                   %Lage des Maximalpunktes wird gespeichert
end

h = plot(n(I), p_e(I));                     %Die Volllastkurve einzeichnen

 



Vielleicht kann mir ja einer von euch helfen.
Danke schon mal.
Der Andreas
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: 07.06.2011, 15:29     Titel:
  Antworten mit Zitat      
Hallo,

der Code sucht die zu einer Drehzahl passenden Informationen und nimmt dort das Maximum. Die Fehlermeldung gibt es, da es zu einer Drehzahl keine Werte (und damit auch kein Maximum) gab.
Das ließe sich dadurch abfangen, indem man nur über die Drehzahlen iteriert, zu denen auch Daten vorhanden sind.

Wenn du zu jeder Drehzahl 10 Werte hast, würde ich das jedoch anders machen:
Code:
p_emax = max(reshape(p_e, 10, []));

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
der_boesi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 07.01.11
Wohnort: Hamburg
Version: 2010b
     Beitrag Verfasst am: 07.06.2011, 15:36     Titel:
  Antworten mit Zitat      
Hallo,

das ging aber schnell =) vielen Dank.

Das ist ja das Problem das ich unterschiedliche Anzahl von Drehzahlen hab. Also 10 mal 1000, 8 mal 1500...
Deswegen, glaube ich, hat mein Prof. den Vergleich von den Drehzahlen eingebaut.

Gruß
Andreas
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: 07.06.2011, 15:45     Titel:
  Antworten mit Zitat      
Ja, dann ist das sinnvoll - auch wenn das FIND unnötig ist.
Dein Beispiel hat sich jedoch anders gelesen.

Grüße,
Harald
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.