Matlab插值拟合教程

上传人:pu****.1 文档编号:431730259 上传时间:2023-11-07 格式:DOCX 页数:11 大小:239.02KB
返回 下载 相关 举报
Matlab插值拟合教程_第1页
第1页 / 共11页
Matlab插值拟合教程_第2页
第2页 / 共11页
Matlab插值拟合教程_第3页
第3页 / 共11页
Matlab插值拟合教程_第4页
第4页 / 共11页
Matlab插值拟合教程_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《Matlab插值拟合教程》由会员分享,可在线阅读,更多相关《Matlab插值拟合教程(11页珍藏版)》请在金锄头文库上搜索。

1、MATLAB插值与拟合1 曲线拟合实例:温度曲线问题气象部门观测到一天某些时刻的温度变化数据为:t012345678910T1315171416192624262729试描绘出温度变化曲线。曲线拟合就是计算出两组数据之间的一种函数关系, 由此可描绘其变化曲线及估计非采集数据对应的变量信息。曲线拟合有多种方式,下面是一元函数采用最小二乘法对给定数据进行多项式曲线拟合,最后给出拟合的多项式系数。1. 1. 线性拟合函数: regress() 调用格式: b=regress(y,X)b,bint,r,rint,stats= regress(y,X)b,bint,r,rint,stats= regre

2、ss(y,X,alpha)说明: b=regress(y,X) 返回 X 处 y 的最小二乘拟合值。该函数求解线性模型:y=X + 是 p 1 的参数向量; 是服从标准正态分布的随机干扰的n 1 的向量; y 为 n 1 的向量; X 为 n p 矩阵。bint 返回 的 95%的置信区间。r 中为形状残差,rint中返回每一个残差的 95%置信区间。 Stats向量包含R2 统计量、回归的F 值和 p 值。例 1:设 y 的值为给定的 x 的线性函数加服从标准正态分布的随机干扰值得到。即 y=10+x+ ;求线性拟合方程系数。程序: x=ones(10,1) (1:10) y=x*10 。

3、1+normrnd(0,0.1,10,1)b,bint=regress(y,x,0.05)结果:x =111 21 31 41 51 61 71 81 91 10y =10.956711.833413.012514.028814.88541/1116.119117.118917.996219.032720.0175b =9.92131.0143bint =9.788910.05370.99301.0357即回归方程为:y=9.9213+1.0143x2. 2. 多项式曲线拟合函数: polyfit( ) 调用格式: p=polyfit(x,y,n)p,s= polyfit(x,y,n)说明:

4、x,y 为数据点, n 为多项式阶数,返回 p 为幂次从高到低的多项式系数向量p。矩阵 s 用于生成预测值的误差估计。 ( 见下一函数 polyval) 例 2:由离散数据x0.1.2.3.4.5.6.7.8.91y.3.511.41.61.9.6.4.81.52拟合出多项式。程序:x=0:.1:1 。y=.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2n=3。p=polyfit(x,y,n)xi=linspace(0,1,100) 。z=polyval(p,xi) 。 %多项式求值plot(x,y, o ,xi,z, k: ,x,y, b)legend( 原始数据 , 3

5、阶曲线 )结果:p =16.7832-25.745910.9802-0.003532多项式为: 16.7832x -25.7459x +10.9802x-0.00352/11也可由函数给出数据。例 3: x=1:20,y=x+3*sin(x)程序:x=1:20 。y=x+3*sin(x) 。p=polyfit(x,y,6)xi=1inspace(1,20,100)。z=poyval(p,xi) 。%多项式求值函数plot(x,y, o ,xi,z, k: ,x,y, b)legend( 原始数据 , 6阶曲线 )结果:p =0.0000-0.00210.0505-0.59713.6472-9.

6、729511.3304再用 10 阶多项式拟合3/11程序: x=1:20。y=x+3*sin(x)。p=polyfit(x,y,10)xi=linspace(1,20,100)。z=polyval(p,xi)。plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据 ,10阶多项式 )结果: p =Columns 1 through 70.0000 -0.0000 0.0004 -0.0114 0.1814 -1.8065 11.2360 Columns 8 through 11-42.086188.5907-92.815540.2671可用不同阶的多项式来拟合数据,但也不是

7、阶数越高拟合的越好。3. 3. 多项式曲线求值函数: 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 得出误差估计YDELTA 。它假设 polyfit 函数数据输入的误差是独立正态的,并且方差为常数。则YDELTA 将至少包含 50%的预测值。4. 4.多项式曲线拟合的评价和置信区间函数:polyconf( )调用格式: Y,DELTA=polyconf(p,x,s)

8、Y,DELTA=polyconf(p,x,s,alpha)说明: Y,DELTA=polyconf(p,x,s) 使用 polyfit函数的选项输出s 给出 Y 的 95%置信区间 Y DELTA 。它假设 polyfit 函数数据输入的误差是独立正态的, 并且方差为常数。 1-alpha 为置信度。例 4:给出上面例 1 的预测值及置信度为 90%的置信区间。程序: x=0:.1:1 。y=.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2n=3 。4/11p,s=polyfit(x,y,n)alpha=0.05 。Y,DELTA=polyconf(p,x,s,alpha)

9、结果: p =16.7832-25.745910.9802-0.0035s =R: 4x4 doubledf: 7Y =normr: 1.1406Columns 1 through 7-0.00350.85381.29701.42661.34341.14800.9413Columns 8 through 110.82380.89631.25942.0140DELTA =Columns 1 through 71.36391.15631.15631.15891.13521.12021.1352Columns 8 through 111.15891.15631.15631.36395. 5.稳健回归

10、函数: robust( )稳健回归是指此回归方法相对于其他回归方法而言,受异常值的影响较小。调用格式: b=robustfit(x,y)b,stats=robustfit(x,y)b,stats=robustfit(x,y, wfun ,tune, const )说明: b 返回系数估计向量; stats 返回各种参数估计; wfun指定一个加权函数; tune 为调协常数; const的值为 on(默认值 )时添加一个常数项;为 off 时忽略常数项。例 5:演示一个异常数据点如何影响最小二乘拟合值与稳健拟合。首先利用函数y=10-2x加上一些随机干扰的项生成数据集,然后改变一个y 的值形成

11、异常值。 调用不同的拟合函数,通过图形观查影响程度。程序: x=(1:1 0) 。y=10-2*x+randn(10,1) 。y(10)=0 。bls=regress(y,ones(10,1) x) %线性拟合brob=robustfit(x,y) % 稳健拟合scatter(x,y)hold onplot(x,bls(1)+bls(2)*x,:)plot(x,brob(1)+brob(2)*x, r )结果: bls =8.4452-1.4784brob =10.2934-2.00065/11分析:稳健拟合(实线 )对数据的拟合程度好些,忽略了异常值。最小二乘拟合( 点线 ) 则受到异常值的影响,向异常值偏移。6.6.向自定义函数拟合对于给定的数据,根据经验拟合为带有待定常数的自定义函数。所用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号