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

Werte zwischen 2 Kurven ausgeben

 

MB_Student

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2012, 16:08     Titel: Werte zwischen 2 Kurven ausgeben
  Antworten mit Zitat      
Hallo erstmal und vielen Dank. Ich habe schon mehrmals tolle Infos in diesem Forum gefunden.

Leider komme ich mit der Suche in meinem aktuellen Problem nicht weiter.

Ich habe zwei Datenreihen

Code:
%
x1=[16 16 20 21 25];
y1=[0 23 27 38 100];

x2=[28 28 32 46 65];
y2=[0 23 26 72 100];


Nun möchte ich die Fläche, welche die beiden Datenreihen einschließen in einer Art Wertetabelle ausgeben lassen. (x,y) (mit einer Kommastelle)

Begrenzt durch ein max. y-Wert von 100.

Wenn ich hier Tipps für einen Anfänger erhalten könnte, wäre das super!

Danke.


MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 24.10.2012, 16:15     Titel:
  Antworten mit Zitat      
Hallo,

schau' dir mal trapz() an.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
MB_Student

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2012, 16:31     Titel:
  Antworten mit Zitat      
Hallo Marc, erstmal Danke für deinen Tip.

Ist es nicht so, dass 'trapz' das Integral meiner Differenzfläche bildet?

Bringt mich dieser Befehl weiter wenn ich x- und y-Werte zwischen den Kurven suche?

LG
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 24.10.2012, 16:34     Titel:
  Antworten mit Zitat      
Hm, dann habe ich dich falsch verstanden. Ehrlich gesagt gelingt mir das mit dem Verständnis auch nach deinen weiteren Erläuterungen auch noch nicht. Kannst du vielleicht eine Grafik des Sachverhaltes hochladen?
Private Nachricht senden Benutzer-Profile anzeigen
 
MB_Student

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2012, 16:56     Titel:
  Antworten mit Zitat      
ich hab den Plot der zwei Kurven angehängt.

Jetzt wäre es super, wenn es einen Befehl geben würde (oder durch eine Kombination) der mir in einer Art Wertetabelle alles Werte (x,y) zwischen den beiden Kurven ausgibt.
In der Art:

x: 20 20 25 25 25...
y: 10 20 10 20 30...

eben x und zugehörigen y- Werte zwischen den Kurven.

Wenn ich das so schreibe, bezweifle ich langsam das das ohne weiteres funktionieren kann.

Kurven.jpg
 Beschreibung:

Download
 Dateiname:  Kurven.jpg
 Dateigröße:  14.55 KB
 Heruntergeladen:  459 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.10.2012, 17:30     Titel:
  Antworten mit Zitat      
Hallo,

verstehe ich die Frage so richtig?

Du hast ein Gitter,
x läuft von 0 bis 100 in Schritten von 5
y läuft von 0 bis 100 in Schritten von 10.

Nun möchtest du wissen, welche der Gitterpunkte zwischen der blauen und der grünen Linie liegen?

Falls dem so ist, könnte die Funktion INPOLYGON helfen.

Wenn die Frage erst mal klar ist, lässt sich sicher auch die Antwort finden Smile

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2012, 20:22     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

Nun möchtest du wissen, welche der Gitterpunkte zwischen der blauen und der grünen Linie liegen?

Grüße,
Harald


Hallo, genau, darum geht es mir.

Der Befehl INPOLYGON scheint schon sehr in die richtige Richtung zu gehen.
Ich verstehe leider deine Gegenfrage bezüglich des Gitters nicht.
Am liebsten würde ich mir alle (erstmal) ganzzahligen Koordinaten zwischen der blauen und der grünen Linie ausgeben lassen.
Diese möchte ich dann in Excel exportieren.

Marc und Harald, vielen Dank schon mal an dieser Stelle.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.10.2012, 20:37     Titel:
  Antworten mit Zitat      
Hallo,

das mit den ganzzahligen Koordinaten ist ja schon mal eine Information. Wirklich alle Punkte wäre nämlich etwas schwierig, da es davon unendlich viele gibt.

Hier ein Versuch:
Code:
allex = [x1, fliplr(x2)];
alley = [y1, fliplr(y2)];
xwerte = ceil(min(allex)):floor(max(allex));
ywerte = ceil(min(alley)):floor(max(alley));
[X,Y] = meshgrid(xwerte, ywerte);
X = X(:);
Y = Y(:);

inside = inpolygon(X, Y, allex, alley);
X = X(inside);
Y = Y(inside);

hold on
plot(X, Y, 'rx')
 


fliplr ist anfangs notwendig, damit die Punkte für das Polygon in der richtigen Reihenfolge angeordnet werden.

Zum Exportieren nach Excel: xlswrite.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2012, 21:45     Titel:
  Antworten mit Zitat      
Vielen Dank!

Es funktioniert perfekt!
Danke für deine Mühen.
 
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.