实验二 次多项式最小二乘拟合

实验二  次多项式最小二乘拟合
实验二  次多项式最小二乘拟合

实验二 n 次多项式最小二乘拟合

一、实验目的

编制以离散点{}i x ()m i ,,2,1,0 =的正交多项式(){}x P k 为基的最小二乘拟合程序,并用于对下列数据做n 次多项式最小二乘拟合.

取权0[,,]m ωωω= 求出拟合曲线()()*0n k k

k y S x P x α===∑=0n

k k k a x =∑,输出*k α,()x P k (系数),k a 0,1,,)k n = (,(),0,,i S t i m = 的值及平方误差2

2δ,画出

()x S y =的图形,并描出插值点(,)i i x y 及(,())i i t S t 分别用‘o ’和‘*’标记.

二、实验原理

设已知y=f (x )的观测数据为

n x k n k =1 x k n k =1 x k 2n k =1 x k 2n k =1… x k m n k =1 x k 2n k =1… x k m +1n k =1?? x k m n k =1 x k m +1n k =1?? x k m +1n k =1… x k 2m n k =1 a 0a 1?a n = y k n

k =1 x k y k n k =1? x k m y k n k =1 解此方程组求出a k k =0,1,…,m 的值,即可求得近似函数φ x 。

三、实验结果

所用数据:

x=[-2.9405,-2.6003,-2.2462,-1.7332,-1.4674,-0.8610,0.0101,0.3605,0.5078,1.0798,1.3923,1.7162,2.9099];

y=[-1.2430,-1.2037,-1.1519,-1.0475,-0.9726,-0.7108,0.0101,0.3460,0.4698,0.8237,0.9479,1.0432,1.2398];

ds1=0.1037,dsn=0.1056; (第一种边界条件)

t=[-2.9405,-2.2905,-1.6404,-0.9904,-0.3403,0.3097,0.9598,1.6098,2.2599,2.9099];(指定计算点)

用{1,x,x^2,...x^n}拟合的结果:

平方误差:0.32698

参数:-2.8033e-005 0.87923 -1.7584 0.75007 用正交多项式拟合的结果:

平方误差:0.30798

参数:-2.8033e-005 0.90839 -1.8167 0.75964 三项递推公式的系数为:

b =

0 0.3982 0.2737

a =

1 1 1

c =

0.2130 0.0000 0.9083 -0.0000

用{1,x,x^2,...x^n}拟合的结果:

平方误差:0.32698

参数:-2.8033e-005 0.87923 -1.7584 0.75007 用正交多项式拟合的结果:

平方误差:0.30798

参数:-2.8033e-005 0.90839 -1.8167 0.75964 三项递推公式的系数为:

b =

0 0.3982 0.2737

a =

1 1 1

c =

0.2130 0.0000 0.9083 -0.0000

最小二乘法数值分析实验报告

最小二乘法数值分析实验报告数学与信息工程学院实课程名称:实验室:实验台号:班级:姓名:实验日期:验报告数值分析2012 年 4 月 13 日数值分析实验报告五最小二乘法一、题目设有如下数据用三次多项式拟合这组数据,并绘出图形二、方法最小二乘法三、程序M文件: syms x f;xx=input(‘请输入插值节点as [x1,x2...]\n’);ff=input(‘请输入插值_ __________________ ___________________ ___________________ ___________________实验一MATLAB在数值分析中的应用插值与拟合是来源于实际、又广泛应用于实际的两种重要方法随着计算机的不断发展及计算水平的不断提高,它们已在国民生产和科学研究等方面扮演着越来越重要的角色下面对插值中分段线性插值、拟合中的最为重要的最小二乘法拟合加以介绍分段线性插值所谓分段线性插值就是通过插值点用折线段连接起来逼近原曲线,这也是计算机绘制图形的基本原理实现分段线性插值不需编制函数程序,MATLAB自身提供了内部函数interp1其主要用法如下:interp1(x,y,xi) 一维插值◆yi=interp1(x,y,xi)对一组点(x,y) 进行插值,计算插值点xi的函数值x为节点向量值,y为对应的节点函数值如果y

为矩阵,则插值对y 的每一列进行,若y 的维数超出x 或xi 的维数,则返回NaN ◆ yi=interp1(y,xi)此格式默认x=1:n ,n为向量y的元素个数值,或等于矩阵y的size(y,1) ◆ yi=interp1(x,y,xi,’method’)method用来指定插值的算法默认为线性算法其值常用的可以是如下的字符串nearest 线性最近项插值linear线性插值spline 三次样条插值贵州师范大学数学与计算机科学学院学生实验报告1. 对函数f(x)?,哪一种曲线拟合较好?为什么?能找出更好的拟合曲线吗?七、总结1、从图像可以看出用lagrange插值函数拟合数据中间拟合的很好,但两边与原函数图象相比波动太大,逼近效果很差,出现所谓的Runge现象2、从图像可以看出用最小二乘法去拟合较少的数据点,曲线拟合比直线拟合得好,高次的会比低次的拟合得好3.一般情形高次插值比低次插值精度高,但是插值次数太高也不一定能提高精度.八、附录1、M文件:function cy=Lagrange(x,y,n,cx)m=length(cx);cy=zeros(1,m);for k=1:n+1t=ones(1,m);for j=1:n+1if j~=kt=t.*(cx-x(j))./(x(k)-x(j));endendcy=cy+y(k).*t ;end>> x=-5::5;>> y=1./(x.+1);>> plot(x,y)>> n=10;>> x0=-5:10/n:5;>> y0=1./(1+x0.);>> cx=-5::5;>> cy=Lagrange(x0,y0,n,cx);>> hold on>> plot(cx,cy)e1 =xxxx大学数值分析实验报告题目:学

最小二乘法的基本原理和多项式拟合

最小二乘法的基本原理和多项式拟合 一 最小二乘法的基本原理 从整体上考虑近似函数)(x p 同所给数据点),(i i y x (i=0,1,…,m)误差 i i i y x p r -=)((i=0,1,…,m) 的大小,常用的方法有以下三种:一是误差 i i i y x p r -=)((i=0,1,…,m)绝对值的最大值i m i r ≤≤0max ,即误差 向量 T m r r r r ),,(10 =的∞—范数;二是误差绝对值的和∑=m i i r 0 ,即误差向量r 的1— 范数;三是误差平方和∑=m i i r 02 的算术平方根,即误差向量r 的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和∑=m i i r 02 来 度量误差i r (i=0,1,…,m)的整 体大小。 数据拟合的具体作法是:对给定数据 ),(i i y x (i=0,1,…,m),在取定的函数类Φ中,求Φ∈)(x p ,使误差i i i y x p r -=)((i=0,1,…,m)的平方和最小,即 ∑=m i i r 2 = 从几何意义上讲,就是寻求与给定点),(i i y x (i=0,1,…,m)的距离平方和为最 小的曲线 )(x p y =(图6-1)。函数)(x p 称为拟合函数或最小二乘解,求拟合函数)(x p 的方法称为曲线拟合的最小二乘法。 在曲线拟合中,函数类Φ可有不同的选取方法 . 6—1 二 多项式拟合 假设给定数据点),(i i y x (i=0,1,…,m),Φ为所有次数不超过)(m n n ≤的多项式构成的函数类,现求一 Φ ∈=∑=n k k k n x a x p 0 )(,使得 [] min )(0 02 02 =??? ??-=-=∑∑∑===m i m i n k i k i k i i n y x a y x p I (1) [ ] ∑ = = - m i i i y x p 0 2 min ) (

最小二乘法曲线拟合 原理及matlab实现

曲线拟合(curve-fitting ):工程实践中,用测量到的一些离散的数据},...2,1,0),,{(m i y x i i =求一个近似的函数)(x ?来拟合这组数据,要求所得的拟合曲线能最好的反映数据的基本趋势(即使)(x ?最好地逼近()x f ,而不必满足插值原则。因此没必要取)(i x ?=i y ,只要使i i i y x -=)(?δ尽可能地小)。 原理: 给定数据点},...2,1,0),,{(m i y x i i =。求近似曲线)(x ?。并且使得近似曲线与()x f 的偏差最小。近似曲线在该点处的偏差i i i y x -=)(?δ,i=1,2,...,m 。 常见的曲线拟合方法: 1.使偏差绝对值之和最小 2.使偏差绝对值最大的最小 3.使偏差平方和最小 最小二乘法: 按偏差平方和最小的原则选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为最小二乘法。 推导过程: 1. 设拟合多项式为: 2. 各点到这条曲线的距离之和,即偏差平方和如下: 3. 问题转化为求待定系数0a ...k a 对等式右边求i a 偏导数,因而我们得到 了: ....... 4、 把这些等式化简并表示成矩阵的形式,就可以得到下面的矩阵: 5. 将这个范德蒙得矩阵化简后可得到:

6. 也就是说X*A=Y,那么A = (X'*X)-1*X'*Y,便得到了系数矩阵A,同时,我们也就得到了拟合曲线。 MATLAB实现: MATLAB提供了polyfit()函数命令进行最小二乘曲线拟合。 调用格式:p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) [p,s,mu]=polyfit(x,y,n) x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s包括R(对x进行QR分解的三角元素)、df(自由度)、normr(残差)用于生成预测值的误差估计。 [p,s,mu]=polyfit(x,y,n)在拟合过程中,首先对x进行数据标准化处理,以在拟合中消除量纲等影响,mu包含标准化处理过程中使用的x的均值和标准差。 polyval( )为多项式曲线求值函数,调用格式: y=polyval(p,x) [y,DELTA]=polyval(p,x,s) y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。 [y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。 如下给定数据的拟合曲线: x=[0.5,1.0,1.5,2.0,2.5,3.0], y=[1.75,2.45,3.81,4.80,7.00,8.60]。 解:MATLAB程序如下: x=[0.5,1.0,1.5,2.0,2.5,3.0]; y=[1.75,2.45,3.81,4.80,7.00,8.60]; p=polyfit(x,y,2) x1=0.5:0.05:3.0; y1=polyval(p,x1); plot(x,y,'*r',x1,y1,'-b') 运行结果如图1 计算结果为: p =0.5614 0.8287 1.1560 即所得多项式为y=0.5614x^2+0.08287x+1.15560 图1 最小二乘法曲线拟合示例 对比检验拟合的有效性: 例:在[0,π]区间上对正弦函数进行拟合,然后在[0,2π]区间画出图形,比较拟合区间和非拟合区间的图形,考察拟合的有效性。 在MATLAB中输入如下代码: clear x=0:0.1:pi; y=sin(x); [p,mu]=polyfit(x,y,9)

最小二乘法的多项式拟合

用最小二乘法进行多项式拟合(m a t l a b 实现) 西安交通大学 徐彬华 算法分析: ,1,2,3,..,m),一共m+1 个数据点,取多项式P(x),使 函数P(x)称为拟合函数或最小二乘解,令似的 使得 其中,a0,a1,a2,…,an 为待求未知数,n 为多项式的最高次幂,由此,该问题化为求 的极值问题。由多元函数求极值的必要条件: j=0,1,…,n 得到: 总共有7个数据点,令m=6 第一步:画出已知数据的的散点图,确定拟合参数n; x=::;y=[,,,,,,]; plot(x,y,'*') xlabel 'x 轴' ylabel 'y 轴' title '散点图' hold on

因此将拟合参数n设为3. 第二步:计算矩阵 A= 注意到该矩阵为(n+1)*(n+1)矩阵, 多项式的幂跟行、列坐标(i,j)的关系为i+j-2,由此可建立循环来求矩阵的各个元素,程序如下: m=6;n=3; A=zeros(n+1); for j=1:n+1 for i=1:n+1 for k=1:m+1 A(j,i)=A(j,i)+x(k)^(j+i-2) end end end; 再来求矩阵 B= B=[0 0 0 0]; for j=1:n+1 for i=1:m+1 B(j)=B(j)+y(i)*x(i)^(j-1) end end 第三步:写出正规方程,求出a0,,a1…,an.

B=B'; a=inv(A)*B; 第四步:画出拟合曲线 x=[::]; z=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3; plot(x,z) legend('离散点','y=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3') title('拟合图') 总程序附下: x=::;y=[,,,,,,]; plot(x,y,'*') xlabel 'x轴' ylabel 'y轴' title '散点图' hold on m=6;n=3; A=zeros(n+1); for j=1:n+1 for i=1:n+1 for k=1:m+1 A(j,i)=A(j,i)+x(k)^(j+i-2) end end end; B=[0 0 0 0]; for j=1:n+1 for i=1:m+1 B(j)=B(j)+y(i)*x(i)^(j-1) end end B=B'; a=inv(A)*B; x=[::]; z=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3; plot(x,z) legend('离散点','y=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3') title('拟合图')

最小二乘拟合实验报告

实验名称: 最小二乘拟合 1 引言 在科学实验和生产实践中,经常要从一组实验数据(,)(1,2,,)i i x y i m =出发, 寻求函数y=f (x )的一个近似表达式y=φ(x),称为经验公式,从几何上来看,这就是一个曲线拟 合的问题。 多项式的插值虽然在一定程度上解决了由函数表求函数近似表达式的问题,但用它来解决这里的问题,是有明显的缺陷的。首先,由实验提供的数据往往有测试误差。如果要求近似曲线y=φ(x)严格地通过所给的每个数据点(,)i i x y ,就会使曲线保留原来的测试误差,因此当个别数据的误差较大的时候,插值的效果是不理想的。其次,当实验数据较多时,用插值法得到的近似表达式,明显缺乏实用价值。在实验中,我们常常用最小二乘法来解决这类问题。 定义()i i i x y δ?=-为拟合函数在i x 处的残差。为了是近似曲线能尽量反映所给数据点的变化趋势,我们要求||i δ尽可能小。在最小二乘法中,我们选取()x ?,使得偏差平方和最小,即 2 2 1 1 [()]min m m i i i i i x y δ?=== -=∑∑,这就是最小二乘法的原理。 2 实验目的和要求 运用matlab 编写.m 文件,要求用最小二乘法确定参数。 以下一组数据中x 与y 之间存在着bx y ae =的关系,利用最小二乘法确定式中的参数a 和b ,并计算相应的军方误差与最大偏差。数据如下: 3 算法原理与流程图 (1) 原理 最小二乘是要求对于给定数据列(,)(1,2, ,)i i x y i m =,要求存在某个函数类 01{(),(),()}()n x x x n m ???Φ=<中寻求一个函数: ** **0011()()()()n n x a x a x a x ????=++ +,使得*()x ?满足

最小二乘法多项式拟合

最小二乘法多项式拟合 对于给定的数据点N i y x i i ≤≤1),,(,可用下面的n 阶多项式进行拟合,即 为了使拟合出的近似曲线能尽量反映所给数据的变化趋势,要求在所有数据点上的残差 都较小。为达到上述目标,可以令上述偏差的平方和最小,即 称这种方法为最小二乘原则,利用这一原则确定拟合多项式)(x f 的方法即为最小二乘法多项式拟合。 确定上述多项式的过程也就是确定)(x f 中的系数n k a k ≤≤0,的过程,根据最小二乘原则,则偏差平方和应该是这些系数的函数,即 为使上式取值最小,则其关于n k a k ≤≤0,的一阶导数应该为零,即有 将上面各等式写成方程组的形式可有 写成矩阵形式有 上述方程组可以通过克莱姆法则来计算,从而解出各系数n k a k ≤≤0,得到拟合方程。 考虑到一般情况提高拟合多项式的阶数并不能提高拟合精度,所以常用的多项拟合阶数为一阶和二阶,即线性拟合和二次拟合。两者的计算公式如下: 关于线性拟合,除上面按克莱姆法则来计算外,还可以有另一思路,下面对

此进行说明。由于是线性拟合,最后得到的是一条直线,因此,直线可以由斜率和截距两个参数来确定,因此,求出这两个参数即可。首先对克莱姆法的求解结果进行展开可以得到 下面考虑先计算斜率再计算截距的方法,从下图可见,斜率计算与坐标系的 位置无关,所以可以将坐标原点平移到样本的i x 和i y 坐标的均值所在点上 图中 则在新的坐标系),(y x ''下斜率的计算公式与前面1a 的计算公式相同,将其中的坐标 ),(y x 换成),(y x ''即可得到下面的计算公式 由样本在新坐标系下的坐标i x '和i y '的均值为零,或者由下面推导可知 则斜率的计算公式可以简化为 还原为原坐标有 下面推导截距的计算公式 x '

最小二乘法圆拟合

最小二乘法圆拟合 1.最小二乘法圆拟合原理 理论 最小二乘法(Least Square Method )是一种数学优化技术。它通过最小化误差的平方和找到一组数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 最小二乘圆拟合模型公式推导 在二维平面坐标系中,圆方程一般可表示为: ()22020)(r y y x x =-+- (1) 对于最小二乘法的圆拟合,其误差平方的优化目标函数为: [] 2 12020)()(∑=--+-=n i i i r y y x x S 式中:()i i y x ,n i ,...,2,1=为圆弧上特征点坐标;n 为参与拟合的特征点数。 在保持这优化目标函数特征的前提上,我们需要对其用一种稍微不同的改进方法来定义误差平方,且其避免了平方根,同时可得到一个最小化问题的直接解,定义如下: [] 2 122020)()(∑=--+-=n i i i r y y x x E (2) 则(2)式可改写为: ( )2 12 20 0220 02 22∑=-+-++-=n i i i i i r y y y y x x x x E (3) 令,02y B -=,02x A -=22020r y x C -+= 即(3)式可表示为:

() 2 22∑=++++=n i i i i i C By Ax y x E 由最小二乘法原理,参数A ,B ,C 应使E 取得极小值。根据极小值的求法,A ,B 和C 应满足 () 020 22=++++=??∑=i n i i i i i x C By Ax y x A E (4) () 020 22=++++=??∑=i n i i i i i y C By Ax y x B E (5) () 020 22=++++=??∑=n i i i i i C By Ax y x C E (6) 求解方程组,先消去参数C ,则 式()()∑=*-*n i i x n 064得 ( )0 02 202 030000002=+-++?? ? ??-+??? ??-∑∑∑∑∑∑∑∑∑∑==========n i i n i i i n i i i n i i n i n i i i n i i i n i n i i i n i i x y x y x n x n B y x y x n A x x x n (7) 式()()∑=*-*n i i y n 065得 ( )0 02 202 030002000=+-++?? ? ??-+??? ??-∑∑∑∑∑∑∑∑∑∑==========n i i n i i i n i i i n i i n i n i i i n i i n i n i i i n i i i y y x y x n y n B y y y n A y x y x n (8) 令 ??? ??-=∑∑∑===n i n i n i i i i x x x n M 000211(9) ?? ? ??-==∑∑∑===n i n i i i n i i i y x y x n M M 0002112(10) ?? ? ??-=∑∑∑===n i n i i i n i i y y y n M 000222(11)

计算方法实验报告 拟合

南京信息工程大学实验(实习)报告 一、实验目的: 用最小二乘法将给定的十个点拟合成三次多项式。 二、实验步骤: 用matlab编制以函数为基的多项式最小二乘拟合程序,并用于对下列数据作三次多项式最小二乘拟合(取权函数wi=1) x -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 y -2.30 -1 -0.14 -0.25 0.61 1.03 1.75 2.75 4.42 6.94 给定直线方程为:y=1/4*x3+1/2*x2+x+1 三、实验结论: 最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。 一般地。当测量数据的散布图无明显的规律时,习惯上取n次代数多项式。 程序运行结果为: a = 0.9731 1.1023 0.4862 0.2238 即拟合的三次方程为:y=0.9731+1.1023x+0.4862*x2+0.2238*x3

-2.5 -2-1.5-1-0.5 00.51 1.52 2.5 -4-20246 81012 x 轴 y 轴 拟合图 离散点 y=a(1)+a(2)*x+a(3)*x.2+a(4)*x.3 结论: 一般情况下,拟合函数使得所有的残差为零是不可能的。由图形可以看出最小二乘解决了残差的正负相互抵消的问题,使得拟合函数更加密合实验数据。 优点:曲线拟合是使拟合函数和一系列的离散点与观测值的偏差平方和达到最小。 缺点:由于计算方法简单,若要保证数据的精确度,需要大量的数据代入计算。

最小二次拟合

最小二次拟合 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t的拟合曲线。 要求1、用最小二乘法进行曲线拟合; 2、近似解析表达式为 3、打印出拟合函数,并打印出误差. 4、另外选取一个近似表达式,尝试拟合效果的比较. 目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系 二.想法描述: 建立了一个矩阵类,定义了矩阵的乘法,重载了矩阵的赋值运算符,传进系数矩阵,算出法定方程组,用Gauss消去法将法定方程组矩阵化成上三角矩阵,再回代就可以解出基函数的系数. 三.程序具体实现和解释 #include #include #include

using namespace std; class Matrix{ private: double **dx; int M; //矩阵的行数 int N; //矩阵的列数 public: Matrix(int m,int n); //构造函数 Matrix(const Matrix &a); //复制构造函数 ~Matrix(); //析构函数 void readMatrix(double *x,int p); //读入矩阵 void readMatrix2(double **x); void Transform(Matrix &B); //求矩阵的转置 void print(); //打印矩阵 Matrix& operator = (Matrix &a); //重载等号运算符 Matrix operator * (Matrix &a); //重载乘号运算符 double Getvalue(int i,int j); //返回矩阵的第i行第j列的值 friend void Gauss(Matrix &a,double *c,double *res);//gauss列消元法};//矩阵类的规范说明 Matrix::Matrix(int m,int n) { int i,j; M=m;N=n;

Matlab最小二乘法曲线拟合的应用实例

MATLAB机械工程 最小二乘法曲线拟合的应用实例 班级: 姓名: 学号: 指导教师:

一,实验目的 通过Matlab上机编程,掌握利用Matlab软件进行数据拟合分析及数据可视化方法 二,实验内容 1.有一组风机叶片的耐磨实验数据,如下表所示,其中X为使用时间,单位为小时h,Y为磨失质量,单位为克g。要求: 对该数据进行合理的最小二乘法数据拟合得下列数据。 x=[10000 11000 12000 13000 14000 15000 16000 17000 18000 19000 2 0000 21000 22000 23000]; y=[24.0 26.5 29.8 32.4 34.7 37.7 41.1 42.8 44.6 47.3 65.8 87.5 137.8 174. 2] 三,程序如下 X=10000:1000:23000; Y=[24.0,26.5,29.8,32.4,34.7,37.7,41.1,42.8,44.6,47.3,65.8,87.5,137.8,17 4.2] dy=1.5; %拟合数据y的步长for n=1:6 [a,S]=polyfit(x,y,n); A{n}=a;

da=dy*sqrt(diag(inv(S.R′*S.R))); Da{n}=da′; freedom(n)=S.df; [ye,delta]=polyval(a,x,S); YE{n}=ye; D{n}=delta; chi2(n)=sum((y-ye).^2)/dy/dy; end Q=1-chi2cdf(chi2,freedom); %判断拟合良好度 clf,shg subplot(1,2,1),plot(1:6,abs(chi2-freedom),‘b’) xlabel(‘阶次’),title(‘chi2与自由度’) subplot(1,2,2),plot(1:6,Q,‘r’,1:6,ones(1,6)*0.5) xlabel(‘阶次’),title(‘Q与0.5线’) nod=input(‘根据图形选择适当的阶次(请输入数值)’); elf,shg, plot(x,y,‘kx’);xlabel(‘x’),ylabel(‘y’); axis([8000,23000,20.0,174.2]);hold on errorbar(x,YE{nod},D{nod},‘r’);hold off title(‘较适当阶次的拟合’) text(10000,150.0,[‘chi2=’num2str(chi2(nod))‘~’int2str(freedom(nod))])

实验3__曲线拟合的最小二乘法

《计算方法》实验报告 学院:计算机学院 专业:计算机科学与技术 指导教师:JW-++1 爨莹

班级学号:201207010229 姓名:图尔荪托合提

实验三曲线拟合的最小二乘法 1、实验目的: 在科学研究与工程技术中,常常需要从一组测量数据出发,寻找变量的函数关 系的近似表达式,使得逼近函数从总体上与已知函数的偏差按某种方法度量能达到最小而又不一定过全部的点。这是工程中引入最小二曲线拟合法的出发点。充分掌握:1.最小二乘法的基本原理;2.用多项式作最小二乘曲线拟合原理的基础上, 通过编程实现一组实验数据的最小二乘拟合曲线。 2、实验要求: 1) 认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方 案和算法; 2) 编写上机实验程序,作好上机前的准备工作; 3) 上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结 果); 4) 分析和解释计算结果; 5) 按照要求书写实验报告; 3、实验内容: 1) 给定数据如下: x :0.15,0.4,0.6 ,1.01 ,1.5 ,2.2 ,2.4,2.7,2.9,3.5 ,3.8 , 4.4,4.6 , 5.1 , 6.6, 7.6; y :4.4964,5.1284,5.6931 ,6.2884 ,7.0989 ,7.5507 ,7.5106, 8.0756, 7.8708,8.2403 ,8.5303 ,8.7394,8.9981 ,9.1450 ,9.5070,9.9115;试作出幂函数拟合数据。 2) 已知一组数据: x :0,0.1,0.2 ,0.3 ,0.4 ,0.5 ,0.6,0.7,0.8,0.9 ,1 y :-0.447,1.978,3.28 ,6.16 ,7.08 ,7.34 ,7.66,9.56,9.48,9.30 ,11.2; 试用最小二乘法求多项式函数,使与此组数据相拟合。

Matlab多变量二次多项式拟合

一、对Y 总做线性多项式拟合:0112288......Y b b X b X b X =+++ 设置显著性水平为0.05,拟合得到: B=[ 0b ,1b ,………., 8b ]= [-60.0349 12.5809 2.2002 -12.9863 20.4145 0.0266 5.1430 17.2416 151.6779] 对应的置信区间为: -161.4058 41.3359 -7.5870 32.7488 -25.5706 29.9709 -33.5089 7.5362 -0.3096 41.1386 -2.5989 2.6520 0.9830 9.3030 -3.2810 37.7642 -64.0209 367.3767 r 2= 0.7454 (越接近于1,回归效果越显著),F= 2.5616, p= 0.1163,(p>0.05, 可知回归模型不成立)。 残差图如下:

从残差图可以看出,除第一个数据和最后一个数据的残差离零点均较远,说明这两个数据可视为异常点,去掉这两个数据之后再做拟合得到: B=[ 0b ,1b ,………., 8b ]= [-478.8 15.7 1.8 -85.3 43 2.8 24.7 135.3 1131.9] 对应的置信区间为: -1048.7 91.1 7.5 23.9 -8 11.6 -183.5 12.8 10.5 75.5 -1.1 6.7 -2 51.4 -25.8 296.4 -206.7 2470.4 r 2= 0.9690 (越接近于1,回归效果越显著),F= 19.5530, p= 0.0023,(p<0.05, 可知回归模型成立)。 残差图如下:

曲线拟合的最小二乘法讲解

实验三 函数逼近与曲线拟合 一、问题的提出: 函数逼近是指“对函数类A 中给定的函数)(x f ,记作A x f ∈)(,要求在另一类简的便于计算的函数类B 中求函数A x p ∈)(,使 )(x p 与)(x f 的误差在某中度量意义下最小”。函数类A 通常是区间],[b a 上的连续函数,记作],[b a C ,称为连续函数空间,而函数类B 通常为n 次多项式,有理函数或分段低次多项式等,函数逼近是数值分析的基础。主要内容有: (1)最佳一致逼近多项式 (2)最佳平方逼近多项式 (3)曲线拟合的最小二乘法 二、实验要求: 1、构造正交多项式; 2、构造最佳一致逼近; 3、构造最佳平方逼近多项式; 4、构造最小二乘法进行曲线拟合; 5、求出近似解析表达式,打印出逼近曲线与拟合曲线,且打印出其在数据点上的偏差; 6、探讨新的方法比较结果。 三、实验目的和意义: 1、学习并掌握正交多项式的MATLAB 编程; 2、学习并掌握最佳一致逼近的MATLAB 实验及精度比较;

3、学习并掌握最佳平方逼近多项式的MATLAB 实验及精度比较; 4、掌握曲线拟合的最小二乘法; 5、最小二乘法也可用于求解超定线形代数方程组; 6、 探索拟合函数的选择与拟合精度之间的关系; 四、 算法步骤: 1、正交多项式序列的生成 {n ?(x )}∞ 0:设n ?(x )是],[b a 上首项系数a ≠n 0的n 次多项式,)(x ρ为],[b a 上权函数,如果多项式序列{n ?(x )} ∞0 满足关系式???=>≠==?.,0,, 0)()()()(),(k j A k j x d x x x k k j b a k j ??ρ?? 则称多项式序列{n ?(x )}∞ 0为在],[b a 上带权)(x ρ正交,称n ?(x )为],[b a 上带权)(x ρ 的n 次正交多项式。 1)输入函数)(x ρ和数据b a ,; 2)分别求))(),(()),(,(x x x x j j j n ???的内积; 3)按公式①)()) (),(()) (,()(,1)(1 0x x x x x x x x j n j j j j n n n ??? ???∑-=- ==计算)(x n ?,生成正交多项式; 流程图: 开始

最小二乘法的多项式拟合matlab实现

最小二乘法的多项式拟 合m a t l a b实现 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

用最小二乘法进行多项式拟合(matlab 实现) 西安交通大学 徐彬华 算法分析: 对给定数据 (i=0 ,1,2,3,..,m),一共m+1个数据点,取多项式P(x),使 函数P(x)称为拟合函数或最小二乘解,令似的 使得 其中,a0,a1,a2,…,an 为待求未知数,n 为多项式的最高次幂,由此,该问题化为求 的极值问题。由多元函数求极值的必要条件: j=0,1,…,n 得到: j=0,1,…,n 这是一个关于a0,a1,a2,…,an 的线性方程组,用矩阵表示如下:

因此,只要给出数据点 及其个数m ,再给出所要拟合的参数n ,则即可求出未知数矩阵(a0,a1,a2,…,an ) 试验题1 编制以函数 为基的多项式最小二乘拟合程序,并用于对下列数据作三次多项式最小二乘拟合(取权函数wi ≡1) x i y i 总共有7个数据点,令m=6 第一步:画出已知数据的的散点图,确定拟合参数n; x=::;y=[,,,,,,]; plot(x,y,'*') xlabel 'x 轴' ylabel 'y 轴' title '散点图' hold on {} n k k x 0=

因此将拟合参数n设为3. 第二步:计算矩阵 A= 注意到该矩阵为(n+1)*(n+1)矩阵, 多项式的幂跟行、列坐标(i,j)的关系为i+j-2,由此可建立循环来求矩阵的各个元素,程序如下: m=6;n=3; A=zeros(n+1); for j=1:n+1 for i=1:n+1 for k=1:m+1 A(j,i)=A(j,i)+x(k)^(j+i-2) end end

Matlab多项式拟合曲线

?MATLAB软件提供了基本的曲线拟合函数的命令. 1 多项式函数拟合:a=polyfit(xdata,ydata,n) 其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a 为拟合多项式的系数 多项式在x处的值y可用下面程序计算. y=polyval(a,x) 2 一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,ydata) 其中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.curvefit()命令的求解问题形式是若要求解点x处的函数值可用程序f=Fun(p,x)计算. 例如已知函数形式,并且已知数据点要确定四个未知参数a,b,c,d. 使用curvefit命令,数据输入;初值输;并且建立函数的M文件(Fun.m).若定义,则输出 又如引例的求解,MATLAB程序: t=[l:16];%数据输人 y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 1 0.58 10.6] ; plot(t,y,’o’) %画散点图 p=polyfit(t,y,2) (二次多项式拟合) 计算结果: p=-0.0445 1.0711 4.3252 %二次多项式的系数 由此得到某化合物的浓度y与时间t的拟合函数。 ?zjxdede | 2008-10-17 12:10:06 ?MATLAB软件提供了基本的曲线拟合函数的命令. 1 多项式函数拟合:a=polyfit(xdata,ydata,n) 其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式的系数 多项式在x处的值y可用下面程序计算. y=polyval(a,x) 2 一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,y data) 其中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.curvefit()命令的求解问题形式是 若要求解点x处的函数值可用程序f=Fun(p,x)计算. 例如已知函数形式,并且已知数据点要确定四个未知参数a,b,c,d. 使用curvefit命令,数据输入;初值输;并且建立函数的M文件(Fun.m).若定义,则输出 又如引例的求解,MATLAB程序: t=[l:16];%数据输人 y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 1 0.55 10.58 10.6] ;

数值计算_第6章 曲线拟合的最小二乘法

第6章曲线拟合的最小二乘法 6.1 拟合曲线 通过观察或测量得到一组离散数据序列,当所得数据比较准确时,可构造插值函数逼近客观存在的函数,构造的原则是要求插值函数通过这些数据点,即。此时,序列与 是相等的。 如果数据序列,含有不可避免的误差(或称“噪音”),如图6.1 所示;如果数据序列无法同时满足某特定函数,如图6.2所示,那么,只能要求所做逼近函数最优地靠近样点,即向量与的误差或距离最小。按与之间误差最小原则作为“最优”标准构造的逼近函数,称为拟合函数。 图6.1 含有“噪声”的数据 图6.2 一条直线公路与多个景点 插值和拟合是构造逼近函数的两种方法。插值的目标是要插值函数尽量靠近离散点;拟合的目标是要离散点尽量靠近拟合函数。 向量与之间的误差或距离有各种不同的定义方法。例如: 用各点误差绝对值的和表示: 用各点误差按模的最大值表示: 用各点误差的平方和表示: 或(6.1)

其中称为均方误差,由于计算均方误差的最小值的方法容易实现而被广泛采用。按 均方误差达到极小构造拟合曲线的方法称为最小二乘法。本章主要讲述用最小二乘法构造拟合曲线的方法。 在运筹学、统计学、逼近论和控制论中,最小二乘法都是很重要的求解方法。例如,它是统计学中估计回归参数的最基本方法。 关于最小二乘法的发明权,在数学史的研究中尚未定论。有材料表明高斯和勒让德分别独立地提出这种方法。勒让德是在1805年第一次公开发表关于最小二乘法的论文,这时高斯指出,他早在1795年之前就使用了这种方法。但数学史研究者只找到了高斯约在1803年之前使用了这种方法的证据。 在实际问题中,怎样由测量的数据设计和确定“最贴近”的拟合曲线?关键在选择适当的拟合曲线类型,有时根据专业知识和工作经验即可确定拟合曲线类型;在对拟合曲线一无所知的情况下,不妨先绘制数据的粗略图形,或许从中观测出拟合曲线的类型;更一般地,对数据进行多种曲线类型的拟合,并计算均方误差,用数学实验的方法找出在最小二乘法意义下的误差最小的拟合函数。 例如,某风景区要在已有的景点之间修一条规格较高的主干路,景点与主干路之间由各具特色的支路联接。设景点的坐标为点列;设主干路为一条直线 ,即拟合函数是一条直线。通过计算均方误差最小值而确定直线方程(见图6.2)。 6.2线性拟合和二次拟合函数 线性拟合 给定一组数据,做拟合直线,均方误差为 (6.2) 是二元函数,的极小值要满足 整理得到拟合曲线满足的方程:

最小二乘法数据拟合

最小二乘法数据拟合 设给定数据),(i i f x ,),,2,1(m i = 在集合},,,{Span 10n ??? =Φ中找一个函数 )()(* 0** x a x S k n k k ?∑==,)(m n < (1) 其误差是 i i i f x S -=)(*δ,),,2,1(m i = (2) 使)(* x S 满足 2 1 )(2 *1 1 2 ])()[(min ])()[(i i m i i x S i i m i i m i i f x S x f x S x -=-=∑∑∑=Φ ∈==ωωδ (3) 0)(≥x ω是],[b a 上给定的权函数。上述求逼近函数)(*x S 的方法就称为曲线拟合的最小二 乘法。满足关系式(3)的函数)(* x S 称为上述最小二乘问题的最小二乘解。 并且有结论: 1)对于给定的函数表),(i i f x ,),,2,1(m i =,在函数类},,,{Span 10n ??? =Φ中存在唯一的函数)()(*0** x a x S k n k k ?∑== ,使得关系式(3)成立。 2)最小二乘解的系数* *1*0,,,n a a a 可以通过解法方程 ),(),(0 ???f a k n k j k =∑=,),,2,1,0(n j = (4) 作为曲线拟合的一种常用的情况,如果讨论的是代数多项式拟合,即取 },,,,1{},,,{210n n x x x =??? 那么相应的法方程(4)就是 ??????????????=???????????????????????? ??∑∑∑∑∑∑∑∑∑∑∑∑++i n i i i i i i i n n i i n i i n i i n i i i i i i n i i i i i f x f x f a a a x x x x x x x x ωωωωωωωωωωωω 102112 (5)

最小二乘法的本原理和多项式拟合

第一节 最小二乘法的基本原理和多项式拟合 一 最小二乘法的基本原理 从整体上考虑近似函数)(x p 同所给数据点),(i i y x (i=0,1,…,m)误差 i i i y x p r -=)((i=0,1,…,m) 的大小,常用的方法有以下三种:一是误差 i i i y x p r -=)((i=0,1,…,m)绝对值的最大值i m i r ≤≤0max ,即误差 向量 T m r r r r ),,(10 =的∞—范数;二是误差绝对值的和∑=m i i r 0 ,即误差向量r 的1— 范数;三是误差平方和∑=m i i r 02 的算术平方根,即误差向量r 的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和∑=m i i r 02 来 度量误差i r (i=0,1,…,m)的整 体大小。 数据拟合的具体作法是:对给定数据 ),(i i y x (i=0,1,…,m),在取定的函数类Φ中,求Φ∈)(x p ,使误差i i i y x p r -=)((i=0,1,…,m)的平方和最小,即 ∑=m i i r 0 2 =[]∑==-m i i i y x p 0 2 min )( 从几何意义上讲,就是寻求与给定点),(i i y x (i=0,1,…,m)的距离平方和为最 小的曲线)(x p y =(图6-1)。函数)(x p 称为拟合 函数或最小二乘解,求拟合函数)(x p 的方法称为曲线拟合的最小二乘法。 在曲线拟合中,函数类Φ可有不同的选取方法. 6—1 二 多项式拟合 假设给定数据点),(i i y x (i=0,1,…,m),Φ为所有次数不超过)(m n n ≤的多项式构成的函数类,现求一 Φ ∈=∑=n k k k n x a x p 0 )(,使得 [] min )(0 02 02 =??? ??-=-=∑∑∑===m i m i n k i k i k i i n y x a y x p I (1) 当拟合函数为多项式时,称为多项式拟合,满足式(1)的)(x p n 称为最小二乘 拟合多项式。特别地,当n=1时,称为线性拟合或直线拟合。

最小二乘拟合实验报告材料

工程学院 《计算方法》实验报告 课 程 名 称 计算方法 系 院 理 学 院 专 业 信息与计算科学 班 级 12级一班 学 生 姓 名 志辉 学 号 2012101316 《最小二乘求解》 1 引言 在科学实验和生产实践中,经常要从一组实验数据(,)(1,2,,)i i x y i m 出发,寻求函 数y=f (x )的一个近似表达式y=φ(x),称为经验公式,从几何上来看,这就是一个曲线拟 合的问题。 多项式的插值虽然在一定程度上解决了由函数表求函数近似表达式的问题,但用它来解决这里的问题,是有明显的缺陷的。首先,由实验提供的数据往往有测试误差。如果要求近似曲线y=φ(x)严格地通过所给的每个数据点(,)i i x y ,就会使曲线保留原来的测试误差,因此当个别数据的误差较大的时候,插值的效果是不理想的。其次,当实验数据较多时,用插值法得到的近似表达式,明显缺乏实用价值。在实验中,我们常常用最小二乘法来解决这类

问题。 定义()i i i x y δ?=-为拟合函数在i x 处的残差。为了是近似曲线能尽量反映所给数据点的变化趋势,我们要求||i δ尽可能小。在最小二乘法中,我们选取()x ?,使得偏差平方和最小,即 2 2 1 1 [()]min m m i i i i i x y δ?=== -=∑∑,这就是最小二乘法的原理。 2 实验目的和要求 运用matlab 编写.m 文件,要求用最小二乘法确定参数。 以下一组数据中x 与y 之间存在着bx y ae =的关系,利用最小二乘法确定式中的参数a 和b ,并计算相应的军方误差与最大偏差。数据如下: 3 算法原理与流程图 (1) 原理 最小二乘是要求对于给定数据列(,)(1,2, ,)i i x y i m =,要求存在某个函数类 01{(),(), ()}()n x x x n m ???Φ=<中寻求一个函数: ** ** 0011()()()()n n x a x a x a x ????=++ +,使得*()x ?满足 * 2 2 ()1 1 [()]min [()]n n i i i i x i i x y x y ???∈Φ ==-=-∑∑。 根据以上条件可知,点* ** 01(,,,)n a a a 是多元函数 2 011 (,, ,)[()]m n n k k i i i k S a a a a x y ?=== -∑∑ 的极小点,从而* ** 01,, ,n a a a 满足方程组 0(0,1,,)k S k n a ?==? 即00111 1 11 () ()()()()()()m m m m k i i k i i n k i n i k i i i i i i a x x a x x a x x x y ???????====+++= ∑∑∑∑,

相关文档
最新文档