|
|
Numerische Integration von Messdaten |
|
kochto |

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 12.05.15
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.12.2015, 19:00
Titel: Numerische Integration von Messdaten
|
 |
Hallo,
ich versuche gerade Oberflächenparameter aus gemessenen Höhendaten zu berechnen. Ich versuche nun die Daten gemäß folgender Formel zu verarbeiten:
S_a=1/A ∬|z(x,y)|dx dy
Bisher habe ich versucht das ganze über einen Trapezansatz zu lösen (mittels trapz). Irgendwie verstehe ich allerdings nicht so genau, wie der Ansatz meine Matrix aus Daten verarbeitet. Wie genau muss ich die Funktion anwenden, wenn ich ein Datenarray aus 1200*1800 Werten habe?
Eine Spalte bzw. eine Spalte, entspricht dabei ca. 0,6.... mikrometern.
Ich hoffe mir kann einer auf die Sprünge helfen und mir einen Tipp bei der Anwendung von trapz geben.
Viele Grüße
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.12.2015, 19:57
Titel:
|
 |
Hallo,
was hast du versucht, und welche Probleme sind dabei aufgetreten?
In der Doku steht ja, dass man für 2D-Integrale geschachtelte Aufrufe von trapz verwenden soll. Hast du das versucht?
Grüße,
Harald
|
|
|
kochto |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 12.05.15
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.12.2015, 11:34
Titel:
|
 |
Genau das ist das Problem, wie ist das gemeint? In etwa so?
I = array_xy
I_neu = trapz(trapz(I))
|
|
|
kochto |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 12.05.15
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.12.2015, 11:42
Titel:
|
 |
Was ist auch nicht ganz so verstehe ist die Vorgehensweise mit den Stützstellen. Ich muss doch für die oben angegebene Formel für Sa, die Stützstellen noch in die realen xy-Abstände überführen oder liege ich da falsch?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.12.2015, 19:07
Titel:
|
 |
Hallo,
deine Aufgabenstellung ist ausführlich in dem Doku-Beispiel
Zitat: |
Multiple Numerical Integrations |
beschrieben. Dort wird auch gezeigt, wie man die Stützstellen berücksichtigen kann.
Grüße,
Harald
|
|
|
kochto |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 12.05.15
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.12.2015, 10:52
Titel:
|
 |
Okay, danke für den Hinweis, dort werde ich mal reinschauen. Bin leider noch nicht ganz so fit in Matlab, daher verzeiht mir bitte die Fragen
In der Doku steht jetzt folgendes:
I = trapz(y,trapz(x,F,2))
Da ich ja nun gerade keine Funktion habe, steht bei mir:
I = trapz(trapz(Messarray))
Liefert das ganze denn dann brauchbare Ergebnisse? Ich habe leider keinen Vergleichwert um das zu überprüfen.
Viele Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.12.2015, 11:14
Titel:
|
 |
Hallo,
gerade wenn man noch nicht so fit in MATLAB ist, ist das gründliche Lesen der Doku um so wichtiger.
Auch in der Doku werden die Daten zwar aus einer Funktion erzeugt, aber letztlich nur mit den Daten gearbeitet. Das ",2" im Befehl der Doku ist entscheidend, damit einmal auch über die Zeilen hinweg aufsummiert wird. Wenn, dann müsste es bei dir also
heißen. Und dann musst du die Distanz zwischen den Messungen ggf. noch berücksichtigen.
Grüße,
Harald
|
|
|
kochto |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 12.05.15
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.12.2015, 14:12
Titel:
|
 |
Das funktioniert so weit erstmal ganz gut. Ich kapiere das mit Stützstellen allerdings irgendwie nicht. Momentan besteht die Matrix aus 1292x1860 Datenpunkten. Die Integration erfolg ja zunächst Spaltenweise und dann wird die Zeile aufsummiert. Wie genau berücksichtige ich denn aber den realen XY-Abstand der Messpunkte?
Anstatt einem spacing=1 habe ich ein reales spacing von 0,6.
Trage ich für den Parameter X den Wert 0,6 ein, kommt eine Fehlermeldung:
"LENGTH(X) must equal the length of Y in dim 2."
In der Doku steht aber eigentlich:
"Point spacing, specified as 1 (default), a uniform scalar spacing, or a vector of nonuniform spacings. If X is a vector, then length(X) must be the same as the size of the integration dimension in Y."
Habe ich da gerade einen kompletten Denkfehler drin?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.12.2015, 14:44
Titel:
|
 |
Hallo,
was genau trägst du wo ein? Und daran denken: in MATLAB ist das Dezimaltrennzeichen der Punkt, also 0.6
Grüße,
Harald
|
|
|
|
|
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 - 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.
|
|