100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 利用最小二乘法拟合求非线性度数据:x 1 2 3 5 6y 2.2 4.00 5.98 10.10

利用最小二乘法拟合求非线性度数据:x 1 2 3 5 6y 2.2 4.00 5.98 10.10

时间:2019-05-01 01:28:09

相关推荐

利用最小二乘法拟合求非线性度数据:x 1 2 3 5 6y 2.2 4.00 5.98 10.10

问题补充:

利用最小二乘法拟合求非线性度数据:x 1 2 3 5 6y 2.2 4.00 5.98 10.10 12.05

答案:

这个问题的计算量很大.

各点的(xi,yi) (i=1,2,3,4,5) 坐标大致成线形关系.可利用最小二乘法求出斜率、截距 以及非线性度.

首先约定 用小写的x和y表示各点坐标.而大写字母表示平均值.例如 (X)表示横坐标的平均值、(Y^2) 表示纵坐标平方的平均值、(Y)^2表示纵坐标平均值的平方、(XY)表示横纵坐标乘积的平均值 等等.

设 (xi,yi)之间的程线形关系.直线方程为 y=kx+b.k为斜率,b为截距.

按照最小二乘法:

k=[(X)(Y)-(XY)]/[(X)^2-(X^2)]

其中(X)= (1/n)(∑xi)=(1/5)×(1+2+3+5+6)=3.4

(Y)= (1/n)(∑yi)=(1/5)×(2.20+4.00+5.98+10.10+12.05)= 6.866

(XY)=(1/n)(∑xiyi)

=(1/5)×(1×2.20+2×4.00+3×5.98+5×10.10+6×12.05)=30.188

(X^2)=(1/n)(∑xi^2)=(1/5)×(1×1+2×2+3×3+5×5+6×6)=15

(X)^2=3.4×3.4=11.56

k=(3.4×6.866-30.188)/(11.56-15)=1.99

以上关于直线的斜率,楼主没有要求计算.如果不需要算,可以忽略不看.另外,请楼主自己决定是否需要遵循有效数字的位数运算规则.

--------------------

关于非线性度γ:

γ=[(XY)-(X)(Y)]/SQRT{[(X^2)-(X)^2][(Y^2)-(Y)^2]}

SQRT表示开平方运算.

(X)= 3.4

(Y)= 6.866

(XY)=30.188

(X^2)=15

(X)^2=11.56

(Y^2)=(1/5)[2.20×2.20+4.00×4.00+5.98×5.98+10.10×10.10+12.05×12.05]

= 60.76

(Y)^2= 6.866×6.866=47.14

γ=[30.188-3.4×6.866]/SQRT[(15-11.56)(60.76-47.14)

=6.8436/SQRT(46.8528)

=6.8436/6.8449

≈1.00非线性度参数γ总是在0和1之间.越接近于1,数据的线形越好.本题目中,γ已经很接近于1,这表明各数据点很好地在一条直线上.

======以下答案可供参考======

供参考答案1:

呵呵,是啊。。。麻烦死了

供参考答案2:

如果你有商业统计/数学软件SAS, SPSS, MatLab, S-Plus (或 R System, 这是免费版的S Plus), 你可用其中的非线性回归分析(Nonlinear Regression)模块来解决这个问题, 其中有些模块会在结果中给出非线性性(nonlinearity or curvature),如果自己计算,非常麻烦,要用到一次和二次导数.我的理解你是想求出非线性性(度).

而关于求最小二乘曲线拟合见/post.405645.html

供参考答案3:

用matlab来做吧,可以达到你的要求,程序如下:

/***************************************************************

* 本算法用最小二乘法依据指定的M个基函数及N个已知数据进行曲线拟和

* 输入: m--已知数据点的个数M

* f--M维基函数向量

* n--已知数据点的个数N-1* x--已知数据点第一坐标的N维列向量* y--已知数据点第二坐标的N维列向量* a--无用* 输出: 函数返回值为曲线拟和的均方误差* a为用基函数进行曲线拟和的系数,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。