由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Computation版 - 请教:3维数据拟合(包子贴)
相关主题
请问谁有tricubic spline interpolation的子程序吗?求计算associated legendre polynomial的子程序
求助:downhill simplex minimization菜鸟问个有限元的弱问题
如何用两段折线逼进曲线?Fortran 90 中有没有计算程序运行时间的内部函数?
matlab参数拟合现在什么软件做VISULIZATION最好?3-D 圆坐标的
FFT一个使用Tecplot的画图问题???
derivative of the cubic spline interpolation resultshow to draw Dirac funcition with tecplot
optimization using matlab function fmincon再问一个fortran的问题
贡献一个问题a question about gnuplot
相关话题的讨论汇总
话题: 拟合话题: 数据话题: manifold话题: a23
进入Computation版参与讨论
1 (共1页)
h****a
发帖数: 580
1
向各位牛人请教一个问题:
现有一套数据(x[m],y[n],z[m,n]),其中x[m]和y[n]是参数,z[m,n]是(x[m],y[n])
相对应的值,m从1到M,n从1到N,一共有M*N个数据点.
根据我的观测和初步检验,我认为下面的方程可以很好地拟合(fit)这些数据:
z=f(x,y)=a11*x^2*y^2+a12*x^2*y+a13*x^2+a21*x*y^2+a22*x*y+a23*x+a31*y^2+a32*y
+a33
现在的问题是,如何准确地得到方程中的系数coeffients(a11,a12,a13,a21,a22,a23,
a31,a32,a33)?
据我所知,对于二维数据(x[i],y[i]), 很容易用方程y=f(x)来拟合,有很多工具(
gnuplot,xmgrace)可以做到。但是对于三维数据(x[m],y[n],z[m,n]),请问有什么现
成的工具可以用来拟合?若是没有现成的工具,我需要自己写程序,该如何着手?
我在网上搜索“least-squares fitting”,找到一些说明和子程序,但全都是用y=f(x
)来拟合数据(x,y),没有用z=
h**********c
发帖数: 4120
2
maybe,
for a fixed y,
you can use langrange interpolation to get x
z= f(x,y_n)
for a fixed x
z= g(x_m,y)
thus you can interpolate
z= fXg(m,n)
maybe
l*****i
发帖数: 3929
3
多简单的一个optimization小程序,自己动手写写就行了

*y
a23,
(x

【在 h****a 的大作中提到】
: 向各位牛人请教一个问题:
: 现有一套数据(x[m],y[n],z[m,n]),其中x[m]和y[n]是参数,z[m,n]是(x[m],y[n])
: 相对应的值,m从1到M,n从1到N,一共有M*N个数据点.
: 根据我的观测和初步检验,我认为下面的方程可以很好地拟合(fit)这些数据:
: z=f(x,y)=a11*x^2*y^2+a12*x^2*y+a13*x^2+a21*x*y^2+a22*x*y+a23*x+a31*y^2+a32*y
: +a33
: 现在的问题是,如何准确地得到方程中的系数coeffients(a11,a12,a13,a21,a22,a23,
: a31,a32,a33)?
: 据我所知,对于二维数据(x[i],y[i]), 很容易用方程y=f(x)来拟合,有很多工具(
: gnuplot,xmgrace)可以做到。但是对于三维数据(x[m],y[n],z[m,n]),请问有什么现

h****a
发帖数: 580
4
老大能否多给一点提示,谢谢。

【在 l*****i 的大作中提到】
: 多简单的一个optimization小程序,自己动手写写就行了
:
: *y
: a23,
: (x

h****a
发帖数: 580
5
你说的前两步我可以理解,但是不知道怎样过渡到第三步。

【在 h**********c 的大作中提到】
: maybe,
: for a fixed y,
: you can use langrange interpolation to get x
: z= f(x,y_n)
: for a fixed x
: z= g(x_m,y)
: thus you can interpolate
: z= fXg(m,n)
: maybe

h**********c
发帖数: 4120
6
First you should guarantee z=f(x,y) is a function,
Shall we attack it this way,
Question: you input (x_0,y_0) and you want to get z_0= f(x_0,y_0)
grid: x[M],y[N] ,z[M,N]
x[l] approximate x_0
for i = 1:n
r[i].z=z[l,i]
r[i].y=y[i]
a one manifold( descretiezd r)
y[l'] approximate y_0
get z from r use y as the weight of interpolation.
You may also try octtree , sort then approximate.
I just guess it should work


h****a
发帖数: 580
7
我会好好想一想。发个包子以示感谢。

【在 h**********c 的大作中提到】
: First you should guarantee z=f(x,y) is a function,
: Shall we attack it this way,
: Question: you input (x_0,y_0) and you want to get z_0= f(x_0,y_0)
: grid: x[M],y[N] ,z[M,N]
: x[l] approximate x_0
: for i = 1:n
: r[i].z=z[l,i]
: r[i].y=y[i]
: a one manifold( descretiezd r)
: y[l'] approximate y_0

h**********c
发帖数: 4120
8
包子means 伪币, thanks.
the key point is get one manifold from a two manifold,
then get one point from the the one manifold .
It should work.
n******8
发帖数: 172
9
isn't it a 2-D nonlinear fitting?
l*****i
发帖数: 3929
10
exactly

【在 n******8 的大作中提到】
: isn't it a 2-D nonlinear fitting?
h***z
发帖数: 233
11
Just find coeffients(a11,a12,a13,a21,a22,a23,a31,a32,a33) that minimizes
the sum of (z[n,m] - f(x[n], y[m]))^2 over n=1..N, m=1..M

【在 h****a 的大作中提到】
: 老大能否多给一点提示,谢谢。
1 (共1页)
进入Computation版参与讨论
相关主题
a question about gnuplotFFT
how to plot just one point in gnuplot?derivative of the cubic spline interpolation results
fortran里矩阵传递有维数限制吗?optimization using matlab function fmincon
Fotran77程序的移植问题贡献一个问题
请问谁有tricubic spline interpolation的子程序吗?求计算associated legendre polynomial的子程序
求助:downhill simplex minimization菜鸟问个有限元的弱问题
如何用两段折线逼进曲线?Fortran 90 中有没有计算程序运行时间的内部函数?
matlab参数拟合现在什么软件做VISULIZATION最好?3-D 圆坐标的
相关话题的讨论汇总
话题: 拟合话题: 数据话题: manifold话题: a23