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

Flächeninhalt zwischen zwei Kurven berechnen

 

jaifraic
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2016, 07:58     Titel: Flächeninhalt zwischen zwei Kurven berechnen
  Antworten mit Zitat      
Moin,

ich habe hier Versuchsergebnisse sowie eine Soll-Kurve, sieht etwa so aus:

In diesem Beispiel passt es besonders schlecht, aber meine Soll-Kurve (rot) ist eine Parabel und meine Ist-Kurve (blau) sieht in der Regel ähnlich aus wie hier.

Nun möchte ich den Inhalt der Fläche berechnen, die von beiden Kurven umschlossen wird.
Normalerweise würde ich dann ja einfach beide Funktionen integrieren und die Ergebnisse voneinander abziehen.

Ich habe hier aber keine Funktionen, sondern Vektoren, die ich plotte.
Gibt es trotzdem eine Möglichkeit, den Flächeninhalt zu bestimmen?
Oder sollte ich lieber Fits durch die Vektoren legen und diese dann integrieren?

Beste Grüße
Jan
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

du kannst Integrale aus Datenpunkten mit trapz berechnen. Als Problem sehe ich hier eher, wie du mit der Überlappung der Funktionen zwischen x = 40 und x = 45 umgehen willst.

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2016, 09:43     Titel:
  Antworten mit Zitat      
Oh, danke. trapz hatte ich schon gefunden, aber wohl falsch verstanden.

Ich müsste die Schnittpunkte finden und dann jeweils den Flächeninhalt zwischen zwei Schnittpunkten berechnen und aufaddieren?

Wie finde ich die Schnittpunkte?
Meine Idee wäre, beide Vektoren sehr fein zu interpolieren, dann könnte ich mit intersect arbeiten - geht das auch anders?
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: 27.04.2016, 10:12     Titel: Re: Flächeninhalt zwischen zwei Kurven berechnen
  Antworten mit Zitat      
Hallo jaifraic,

Wenn Du zwei Vektoren hast und die Fläche zwischen ihnen berechnen möchtest, ist das einfach:
Code:
A = sum(abs(Messkurve - Sollkurve)) * dx

"dx" ist dabei die Distanz zwischen den Messpunkten auf der X-Achse.

Die Summe der einzelnen Teil-Schritte ist hier das Integral mit der größt-möglichen Genauigkeit.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.04.2016, 11:47     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Wie finde ich die Schnittpunkte?

Hast du für die Kurven y-Werte zum gleichen Satz x-Werte?
Falls ja:
Code:
vzWechsel = diff(sign(y1-y2)) ~= 0;


Ansonsten müsste man die Datensätze zuvor auf einheitliche x-Werte interpolieren.

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2016, 12:45     Titel:
  Antworten mit Zitat      
Es kann so einfach sein....

Interpoliert habe ich die Werte schon.

Vielen Dank, Harald und Jan! Ihr habt mir weitergeholfen Smile
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.