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

Maximum in einem Bereich eines Vektors finden

 

Wanderwichtl

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.09.2012, 13:44     Titel: Maximum in einem Bereich eines Vektors finden
  Antworten mit Zitat      
Hallo,

der Beitrag ist zwar schon etwas ältern, aber ich möchte es trotzdem mal hier reinschreiben.
Ich muss Motordaten auswerten und benötige dazu die jeweiligen maximalen Drehmomente zu den jeweiligen Drehzahlen.
Die Werte die ich hier mal eingefügt hab sind Sollwerte. Also die realen Werte schwanken dann jeweils etwas.
Meine Drehzahlliste geht von 100 bis 12000 rpm in verschiedenen Abständen.

Hat jemand eine Idee wie ich mir die jeweiligen maximalen Drehmomente aus dem jeweiligen Drehzahlbereich herausziehen könnte?


Code:

Nm   n
0   2000
5   2000
10   2000
15   2000
20   2000
25   2000
30   2000
40   2000
50   2000
60   2000
70   2000
80   2000
90   2000
100   2000
110   2000
120   2000
130   2000
140   2000
150   2000
160   2000
170   2000
180   2000
190   2000
0   2250
5   2250
10   2250
15   2250
20   2250
25   2250
30   2250
40   2250
50   2250
60   2250
70   2250
80   2250
90   2250
100   2250
110   2250
120   2250
130   2250
140   2250
150   2250
160   2250
170   2250
180   2250
190   2250
200   2250
210   2250
220   2250
 

gruß

[EDITED, Jan, Bitte neue Fragen in neuen Thread stellen, Danke]
Gesplittet: 11.09.2012, 16:25 Uhr von Jan S
Von Beitrag Maximum in einem Bereich eines Vektors finden aus dem Forum Programmierung


Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 11.09.2012, 17:40     Titel:
  Antworten mit Zitat      
Hi,

so müsste es funktionieren Smile
Code:

Nmn % Ist deine Matrix mit Nm und n
[v,i]=unique(Nmn(:,2));
for k = 1:length(v)
    idx = find(Nmn(:,2)==v(k));
    MAX_(k,:)= [max(Nmn(idx,1)),v(k)]; % in der ersten Spalten sind die Maximas der Nm und in der zeiten Spalte die dazugehörige Drehzahl.
end
 

Gruß,
Vito
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: 11.09.2012, 22:11     Titel: Re: Maximum in einem Bereich eines Vektors finden
  Antworten mit Zitat      
Hallo Wanderwichtl,

Welche Werte schwanken?

Code:
Data = [0   2000
5   2000
170   2000
180   2000
190   2000
0   2250
5   2250
10   2250
15   2250
20   2250
25   2250
170   2250
180   2250
190   2250
200   2250
210   2250
220   2250];   % Ich habe es mal etwas gekürzt...

[a, b, c] = unique(Data(:, 2));
maxPerN = accumarray(c, Data(:, 1), [], @max);

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Wanderwichtl

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.09.2012, 08:23     Titel: Re: Maximum in einem Bereich eines Vektors finden
  Antworten mit Zitat      
Jan S hat Folgendes geschrieben:
Hallo Wanderwichtl,

Welche Werte schwanken?

Gruß, Jan


Das Problem ist, dass alle meine Werte schwanken. Bei den Drehmomenten schwankt es etwa um +- 20 Nm (Soll zu Ist) und bei meinen Drehzahlen um +- 5 . Also ich habe nie die selbe Drehzahl zweimal drin.
Also müsste ich jeweils in einem Drehzahlbereich mein Maximum finden, wobei die Abstände der jeweiligen Drehzahlbereiche auch unterschiedlich sind.
Also einmal muss ich das Maximum in
...700, 800, 900, 1000, 1250, 1500, ... finden.


Gruß
Alex
 
Wanderwichtl

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.09.2012, 09:44     Titel:
  Antworten mit Zitat      
Vielen lieben Dank euch,

also zum großteil Testfahrten hab ich auch die Sollwerte, damit kann ich eure Funktion wunderbar anwenden. Leider nicht zu allen, da muss ich dann nochmal drüber schauen.
Trotzdem würde es mich interessieren, ob es auch mit Bereichen funktionieren würde.

Gruß
Alex
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.09.2012, 12:29     Titel:
  Antworten mit Zitat      
Hallo Wanderwichtl,

Das geht sicherlich auch mit einem "Bereich". Bitte poste doch einen Satz entsprechender Testdaten. Es ist doch umständlich, zunächst genau zu erraten, was eigentlich Deine Inputs sind, um dann eine Lösung vorzuschlagen.

Der Befehl HISTC hilft auf alle Fälle, die Indices der Elemente eines Vektors zu finden, die in unterschiedliche Bereiche fallen.

Gruß, Jan
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.