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

Für y-Wert aus Messdaten zugehörigen x-Wert suchen?

 

sandman85
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 12.03.09
Wohnort: ---
Version: R2015a
     Beitrag Verfasst am: 28.07.2009, 10:21     Titel: Für y-Wert aus Messdaten zugehörigen x-Wert suchen?
  Antworten mit Zitat      
Hallo zusammen...

Ich hab hier eine Reihe von Messdaten. Z.B. Drehmoment über Zeit...
Ich würde jetzt gerne wissen, wie lange es dauert, dass das Drehmoment von Wert a auf Wert b gestiegen ist.
Bin mir ziemlich sicher, dass die Aufgabe nicht besonders schwer ist, aber ich sitz hier grad voll aufm Schlauch und hab noch nichtmal ne Idee, wonach ich da Suchen soll. Smile Ich bin für alle Tipps dankbar...

Grüße
Sandman
Private Nachricht senden Benutzer-Profile anzeigen


Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2009, 11:14     Titel:
  Antworten mit Zitat      
ich würde mal irgendwas in der Art

Code:

a   = [1 2 3 4 5]
b   = [2 4 7 8 9]

von = a(find(b==4))
bis = a(find(b==7))
delta   = bis-von
 


versuchen
Private Nachricht senden Benutzer-Profile anzeigen
 
sandman85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 12.03.09
Wohnort: ---
Version: R2015a
     Beitrag Verfasst am: 28.07.2009, 11:34     Titel:
  Antworten mit Zitat      
Hallo Idefix_1024,

vielen Dank für deinen Vorschlag.
Leider habe ich allerdings das Problem, dass z.B. der anfangs y-Wert genau zwischen zwei Messpunkten liegt. Wie kann ich das denn möglichst einfach interpolieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Trimax
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 54
Anmeldedatum: 09.04.09
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 28.07.2009, 11:37     Titel:
  Antworten mit Zitat      
Code:


Da sollte was für dich dabei sein Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2009, 11:39     Titel:
  Antworten mit Zitat      
das ist eine Möglichkeit...
allerdings wird dann das Ergebnis nur gerundet...

zum Thema Interpolieren hilft evtl dieser Thread weiter

[url]
http://www.gomatlab.de/interpolatio.....hlight,interpolieren.html
[/url]
Private Nachricht senden Benutzer-Profile anzeigen
 
sandman85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 12.03.09
Wohnort: ---
Version: R2015a
     Beitrag Verfasst am: 28.07.2009, 12:35     Titel:
  Antworten mit Zitat      
Hmmm....
Das trifft irgendwie nicht genau das, was ich brauche.

Ich gebe mal kurz ein Beispiel:
ich habe zur Zeit 3,519s das Drehmoment 49,984Nm, zur Zeit 3,625s das Drehmoment 50,329Nm, zur Zeit 5,416s das Drehmoment 149,893Nm und zur Zeit 5,583s das Drehmoment 150,112Nm.
Ich suche nun nach einer Möglichkeit, mir besipielsweise die Zeitdauer von genau 50Nm bis 150Nm Drehmoment berechnen zu lassen...
Gibt es da eine einfache Lösung?

Grüße
Sandman
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2009, 13:01     Titel:
  Antworten mit Zitat      
ich denke das ist schon was du brauchst...
hier mal mein Vorschlag im Detail

Code:

clear
clc
close all

% gegebene Daten

t   = [3.519; 3.625; 5.416; 5.583];
M   = [49.984; 50.329; 149.893; 150.112];


M_neu   = 50:1:150;

t_neu   = interp1(M,t,M_neu,'linear');

M_von   = 50;
M_bis   = 150;
von     = t_neu(find(M_neu==M_von));
bis     = t_neu(find(M_neu==M_bis));

delta_zeit  = bis-von
fprintf(['\nDer Motor benötigt ' num2str(delta_zeit) 'Sekunden \nfür einen Drehmomentsprung von ' num2str(M_von) ' Nm zu ' num2str(M_bis) 'Nm.\n\n']);


figure(1)
hold on
plot(t,M,'rx-','LineWidth',2,'MarkerSize',10)
plot(t_neu,M_neu,'bx-','LineWidth',2,'MarkerSize',10)
hold off
title('Original-Daten und interpolierte Daten')
 


das sollte es doch werden oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
sandman85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 12.03.09
Wohnort: ---
Version: R2015a
     Beitrag Verfasst am: 28.07.2009, 13:10     Titel:
  Antworten mit Zitat      
Vielen Dank...
Jepp, genau das sollte es werden Very Happy

Jetzt hauts hin... Was mir eigentlich gefehlt hat, war der Befehl 'interp1'... Jetzt ist alles klar.

Vielen Dank nochmal.

Grüße
Sandman
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 - 2024 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.