|
|
Addition von x bei gleichem y aus zwei Datenreihen y=f(x) |
|
kina236 |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 04.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.01.2021, 14:11
Titel: Addition von x bei gleichem y aus zwei Datenreihen y=f(x)
|
|
Hallo,
ich suche eine Funktion bzw. eine Herangehensweise für folgendes Problem:
Ich habe zwei Datenreihen mit Wertepaaren x,y gegeben und möchte die x-Werte beider Reihen bei gleichem y-Wert addieren. Leider haben die y-Werte viele Nachkommastellen. Dementsprechend existieren keine zwei exakt gleichen y-Werte und ich kann nicht einfach nach einem y-Wert in beiden Datenreihen "suchen" und deren x-Werte addieren.
Bei mathematischen Funktionen würde ich dafür die Umkehrfunktion berechnen. Die Funktion f(x)=y ist mir allerdings nicht bekannt, ich habe lediglich Wertepaare.
Wie kann ich dieses Problem in MATLAB lösen?
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.01.2021, 14:17
Titel:
|
|
Hallo,
ich würde zu einem vorgegebenen Gitter von y-Werten jeweils die x-Werte interpolieren. Diese kannst du dann addieren.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
kina236 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 04.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2021, 09:56
Titel:
|
|
Danke für deine Antwort.
Nun habe ich festgestellt, dass meine y-Werte nicht nur von x, sondern auch von z abhängig sind, also y=f(x,z). Gesucht ist x=f(y,z).
Nehme ich da den Befehl
?
Ich habe mir schon die Hilfe zu dem Befehl angeschaut.
Verstehe ich es richtig, dass X=x, Y=z, V=y, Xq=y und Yq=z für meinen Anwendungsfall gilt?
Falls nicht, bin ich für Erklärung zu diesem oder einem anderen passenden Befehl sehr dankbar.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.01.2021, 10:04
Titel:
|
|
Hallo,
du kannst interp2 verwenden. Es ist aber nicht sinnvoll, Xq und Yq genauso zu wählen wie X und Y. Xq muss in deinem Fall ein Gitter von x-Werten und Yq ein Gitter von z-Werten sein, für die du Daten haben möchtest.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
kina236 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 04.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2021, 11:01
Titel:
|
|
Habe ich X und Y und Xq und Yq gleich gewählt?
Ich würde X =x und Y=z wählen, da ich sich daraus mein y ergibt. Also ist V=y (y=f(x,z).
Nun möchte ich das umdrehen und x=f(y,z) bestimmen. Dafür wähle ich ein Gitter ausx-Werten und z-Werte, für die ich mein y haben möchte, also Xq=y und Yq=z. Xq hat sich geändert von x auf y.
Kann man das so machen und kann es sein, dass X und Y sowie Xq und Yq die gleichen Dimensionen haben müssen?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.01.2021, 13:32
Titel:
|
|
Hallo,
es kann das einfachste sein, das mal mit dem konkreten Datensatz auszuprobieren und zu schauen, ob das fehlerfrei läuft und die Ergebnisse sinnvoll sind.
Es gibt verschiedene Möglichkeiten, die Daten zur Verfügung zu stellen. Das wird in der Doku von interp2 im Abschnitt "Input Arguments" detailliert beschrieben.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
kina236 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 04.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2021, 15:12
Titel:
|
|
Ich hab's nun mal versucht zu programmieren:
pV1AB ist eine Matrix, die die p-Werte in Abhängigkeit von V (Spalten) und n (Zeilen) enthält.
Die Grenzen von p1i und n1i habe ich entsprechend den Werten von pV1AB bzw. n1 gewählt.
Es zeigt keine Fehler an, aber V1i enthält nun NANs. Zuerst dachte ich, es liegt an meinem vorgegebenem p1i-n1i-Gitter, aber die Werte kommen so in pV1AB vor.
Wo könnte der Fehler sein?
Danke.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.01.2021, 15:37
Titel:
|
|
Hallo,
m.E. müssen bei diesem Aufruf die Werte von p1i zu V1 passen und die von n1i zu n1. Die letzteren beiden passen zusammen, die ersteren beiden nicht. Angesichts von V1 erschiene mir z.B. dies für sinnvoller:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
kina236 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 04.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.01.2021, 11:19
Titel:
|
|
Danke, mit der Änderung enthält V1i Zahlenwerte.
Allerdings sind diese m. E. nicht plausibel, was evtl. an der Vorgabe, dass die Wertebereiche von V1 und p1i gleich sein müssen, liegt. V1 und p1i repräsentieren physikalische Größen, die nie den gleichen Wertebereich haben.
Gibt es eine Möglichkeit, die Interpolation für folgendes p1i und n1i durchzuführen oder eignet sich ein anderer Befehl statt interp2 dafür?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.01.2021, 11:25
Titel:
|
|
Hallo,
Zitat: |
V1 und p1i repräsentieren physikalische Größen, die nie den gleichen Wertebereich haben. |
Dann ist der Aufruf von interp2 mit diesen Argumenten in dieser Reihenfolge fragwürdig.
Mit dem Aufruf sagst du, dass du Werte für p1i und n1i haben möchtest. Dann musst du aber auch Daten haben, die diesen Bereich abdecken. Andernfalls ist es keine Interpolation, sondern eine (m.E. recht gewagte) Extrapolation.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|