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

Numerische Integration von Messdaten

 

kochto
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.05.15
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 20.12.2015, 19:00     Titel: Numerische Integration von Messdaten
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.12.2015, 19:57     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
kochto
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.05.15
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 21.12.2015, 11:34     Titel:
  Antworten mit Zitat      
Genau das ist das Problem, wie ist das gemeint? In etwa so?

I = array_xy
I_neu = trapz(trapz(I))
Private Nachricht senden Benutzer-Profile anzeigen
 
kochto
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.05.15
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 21.12.2015, 11:42     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.12.2015, 19:07     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
kochto
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.05.15
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 22.12.2015, 10:52     Titel:
  Antworten mit Zitat      
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 Smile

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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.12.2015, 11:14     Titel:
  Antworten mit Zitat      
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
Code:
I = trapz(trapz(Messarray,2))

heißen. Und dann musst du die Distanz zwischen den Messungen ggf. noch berücksichtigen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.05.15
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 22.12.2015, 14:12     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.12.2015, 14:44     Titel:
  Antworten mit Zitat      
Hallo,

was genau trägst du wo ein? Und daran denken: in MATLAB ist das Dezimaltrennzeichen der Punkt, also 0.6

Grüße,
Harald
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 - 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.