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

Kann man x-Werte bei gegebenen y-Werten auswerten lassen?

 

TesterGraz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.08.2015, 11:50     Titel: Kann man x-Werte bei gegebenen y-Werten auswerten lassen?
  Antworten mit Zitat      
Sehr geehrtes Forum,

Wir stehen vor einem kleinen Problem, es müssen nämlich von mehreren Temperatur-Zeit Diagrammen die Differenzen berechnet werden!
Das Aufstellen und Auswerten der Daten ist bis dato mit Hilfe von MIN und MAX keine Schwierigkeit gewesen, jedoch bekommen wir immer nur die y-Werte heraus, benötigen aber für die Berechnung der Länge der Strecke zwischen MIN und MAX auch die x-Werte.
Es würde zwar händisch gehen, wenn man jedes Einzelne immer öffnet und so die Werte abliest, aber wir sind überzeugt, dass es da eine einfachere Lösung gibt. Kennt sich jemand damit aus?

Danke im Voraus

PS: das unten angeführte CSC sind unsere automatisiert eingelesenen Diagramme

Code:
CSC=CSC000OPN01;
subplot(2,1,1)
plot(t5,CSC, 'linewidth',1.5)
title('Skizze gesamt')
xlabel ('sec')
ylabel ('Temp')
grid on
hold on
MIN=min(CSC)
MAX=max(CSC)


DiffTimes=diff(CSC);
DiffTimes=DiffTimes+1;
plot(t5(DiffTimes),CSC(DiffTimes))
DiffTimes=find(diff(CSC));
subplot(2,1,2)
plot(t5(DiffTimes),CSC(DiffTimes),'linewidth',1.5)
title('explicite TempDiff')
xlabel ('sec')
ylabel ('Temp')
grid on
 


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.08.2015, 12:05     Titel:
  Antworten mit Zitat      
Hallo,

zweites Rückgabeargument von min bzw. max zurückholen und als Index für den x-Vektor verwenden?

Code:
[MIN, idx1]=min(CSC);
tMin = t5(idx1);


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.08.2015, 12:57     Titel:
  Antworten mit Zitat      
Danke Harald für den Tipp!

Es kommt noch nicht der gesuchte Wert heraus, aber werde den Ansatz überdenken.

Very Happy
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.08.2015, 13:01     Titel:
  Antworten mit Zitat      
Hallo,

was kommt heraus, und was willst du haben?
Am besten anhand eines konkreten Beispiel, bei dem du auch Testdaten zur Verfügung stellst...

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.08.2015, 13:55     Titel:
  Antworten mit Zitat      
ok, also zu dem oben genannten Beispiel, bekomme ich folgende Werte:

MIN = 190

MAX = 219

ist auch an der Skizze unten ersichtlich. Die Koordinaten sind folgende:

MIN = (x1/190) wobei x1 = 79,74 (kann man aus dem Koordinatensystem ablesen)

MAX = (x2/219) durch ablesen kommt man auf x2 = 109,2

Ich möchte wissen, wie man diese Werte x1, x2 bekommen kann, ohne sie aus dem Koordinatensystem abzulesen.

Lg

figure.jpg
 Beschreibung:

Download
 Dateiname:  figure.jpg
 Dateigröße:  206.51 KB
 Heruntergeladen:  341 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.08.2015, 18:24     Titel:
  Antworten mit Zitat      
Hallo,

woher soll MATLAB denn erahnen, zu welchem der vermutlich gleichen Minimalwerte du denn gerne den x-Wert hättest? Wenn du den letzten Wert haben willst, in dem der Minimalwert angenommen wird, dann musst du das schon auch sagen.

Code:
idx = find(CSC == min(CSC), 1, 'last');
t5(idx)


Falls dies nicht funktioniert, bitte die Testdaten zur Verfügung stellen, so dass man das selbst in MATLAB testen kann.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2015, 09:59     Titel:
  Antworten mit Zitat      
Herzlichen Dank Harald für deine Hilfe!

Es funktioniert genau so, wie ich es mir vorgestellt habe, bekomme so meine gesuchten Werte, bei max eben mit der Änderungen hinten auf 'first' an der Stelle von 'last'!

Vielen vielen Dank!

P.S.: Ich hätte die Daten natürlich gerne hier hergegeben, sind aber Systemkaliebrierungsdaten, die bereits als ausgewertete Daten vorliegen bzw so ausgewertet werden. Also habe ich keinen direkten Zugriff auf diese.
 
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.