필터 지우기
필터 지우기

Fitting a 3D sine function to topographic data?

조회 수: 3 (최근 30일)
Julia Howe
Julia Howe 2016년 10월 7일
편집: Julia Howe 2016년 10월 12일
I have some topographic data that has a general sinusoidal signature. I can import it to MATLAB in the form of points or as a DEM.
I would like to fit a 3D sine function (z=sin(x)+sin(y)) to my data that looks something like this:
I need to figure out a way to fit this type surface to the data, likely with different parameters for each dataset, and calculate an R^2 value. I have many datasets to work through, so I want to develop something that's efficient.
I'm having trouble figuring out how to approach this problem. The point data is very dense (>3 million) and crashes the Curve Fitting gui. I don't know how I would even try to fit a DEM, if it works the same way or not. Any ideas?
  댓글 수: 3
Image Analyst
Image Analyst 2016년 10월 11일
Just FYI - that's a 2-D function, not a 3D function. You have two dimensions: x and y, and a value at that point. That means it's a 2-D function. You have only 2 independent coordinates, not 3. For example, a gray scale image is a 2D array (function) regardless if you show it as an image or as a 2.5-D rendering on your flat 2-D computer screen with the surf() function. Doesn't matter - it's still a 2D image.
Julia Howe
Julia Howe 2016년 10월 12일
편집: Julia Howe 2016년 10월 12일
The image/function was meant as a simplified example, not as the solution. My data is topographic data, it varies in xyz space (Northing, Easting, Elevation).

댓글을 달려면 로그인하십시오.

답변 (1개)

Massimo Zanetti
Massimo Zanetti 2016년 10월 7일
A simple idea is to downsample your data (also called decimation). Since your data is very regular, you can remove a lot of samples and then use the fitting tool on the reduce data.
For example try:
r=10; %decimation rate
x = decimate(x,r)
y = decimate(y,r)
and then run fitting tool with x,y.

카테고리

Help CenterFile Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by