没有合适的资源?快使用搜索试试~ 我知道了~
首页matlab数据分析方法.pdf
matlab数据分析方法.pdf
1星 需积分: 34 48 下载量 56 浏览量
更新于2023-03-03
评论 2
收藏 230KB PDF 举报
数据拟合,插值,回归分析的分类:按照回归模型中变量个数分(一元回归,多元回归);按照回归曲线的形态分(线性回归,非线性回归);按照是否要求总体分布类型已知分(参数回归,非参数回归)
资源详情
资源评论
资源推荐
第四讲 数据分析方法
第一节、数据拟合
问题:给定一批数据点(输入变量与输出变量的数据),需确定满足特定要求的曲线或
曲面。如果输入变量和输出变量都只有一个,则属于一元函数的拟合和插值;而若输入变量
有多个,则为多元函数的拟合和插值(有点回归分析的意思)
解决方案:
(1) 若要求所求曲线(面)通过所给所有数据点,就是插值问题;
(2) 若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就
是数据拟合,又称曲线拟合或曲面拟合。
注意:插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,
二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时
容易确定,有时则并不明显。
例 1:下面数据是某次实验所得,希望得到 X 和 f之间的关系?
x 1 2 4 7 9 12 13 15 17
f 1.5 3.9 6.6 11.7 15.6 18.8 19.6 20.6 21.1
曲线拟合问题最常用的解法——最小二乘法的基本思路
第一步:确定拟合的函数类型
),,,;(
21 m
aaaxfy "
=
,其 中 为待定系数。
(函数类型的确定可以根据内在的规律确定,如果无现成的规则,则可以通过散点图,联系
曲线的形状进行分析)
m
aaa ,,,
21
"
第二步:确定 的最小二乘准则:要求 个已知点 与曲线
的距离 的平方和 最小 。
m
aaa ,,,
21
"
n
),(
ii
yx
)(xfy =
i
d
∑
=
−
n
i
ii
xfy
1
2
))((
用 MATLAB 作拟合
1.多项式拟合。作多项式 拟合,可利用
m
mm
axaxay +++=
−
"
1
10
a=polyfit(x,y,m)
—
其中 x,y 为给出的数据,m 为多项式的次数。
多项式在 x 处的值 y 可用以下命令计算:
y=polyval(a,x)
2.用 MATLAB 作非线性最小二乘拟合
Matlab 的提供了两个求非线性最小二乘拟合的函数:lsqcurvefit 和 lsqnonlin。两个命令
都要先建立 M-文件 fun.m,在其中定义函数 f(x)。
(1)x = lsqcurvefit (‘fun’,x0,xdata,ydata);
(2)x =lsqcurvefit (‘fun’,x0,xdata,ydata,options);
(3)x = lsqcurvefit (‘fun’,x0,xdata,ydata,options,’grad’);
(4)[x, options] = lsqcurvefit (‘fun’,x0,xdata,ydata,…);
(5)[x, options,funval] = lsqcurvefit (‘fun’,x0,xdata,ydata,…);
1
(6)[x, options,funval, Jacob] = lsqcurvefit (‘fun’,x0,xdata,ydata,…);
(7)x=lsqnonlin(‘fun’,x0);
(8)x= lsqnonlin (‘fun’,x0,options);
(9)x= lsqnonlin (‘fun’,x0,options,‘grad’);
(10)[x,options]= lsqnonlin (‘fun’,x0,…);
(11)[x,options,funval]= lsqnonlin (‘fun’,x0,…);
在使用 lsqcurvefit 与 lsqnonlin 命令时,共同的问题是要先知道函数的类型,而拟合其实是决
定函数中的待定系数。
第二节 插值
插值的基本问题:给出 个数对,(
n
, ( )), 1,2, ,
ii
PfP i n
=
" ,求 点 处对应的函数值P
()
f
P
。
一、一维插值
已知 个节点 ,求任意点 处的函数值 。常用的插值方法
有拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite 插值和三次样条插值。
1+n
niyx
ii
,,1,0),,( "=
*
x
*
y
9 分段线性插值:将各数据点用折线连接起来
9 多项式插值:求一个多项式通过所有数据点,可以假设出多项式的系数,最后通过
求解方程得到每个系数(拉格朗日插值,用 次多项式描述
n 1
+
n
个点)
9 样条插值:分段多项式的光滑连接(三次样条插值)
9 牛顿插值:利用节点之间的各阶差商和差分构造多项式
9 Hermite 插值:对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有
相同的一阶、二阶甚至更高阶的导数值
(1)MATLAB 命令:y=interp1(x0,y0,x,'method')
method 指定插值的方法,默认为线性插值。其值可为:
'nearest' 最近项插值
'linear' 线性插值
'spline' 立方样条插值
'cubic' 立方插值。
所有的插值方法要求 x0 是单调的。
当 x0 为等距时可以用快速插值法,使用快速插值法的格式为'*nearest'、'*linear'、'*spline'、
'*cubic'。
(2)三次样条插值在 Matlab 中的实现
在 Matlab 中数据点称之为断点。如果三次样条插值没有边界条件,最常用的方法,就
是采用非扭结(not-a-knot)条件。这个条件强迫第 1 个和第 2 个三次多项式的三阶导数相
等。对最后一个和倒数第 2 个三次多项式也做同样地处理。
Matlab 中三次样条插值也有现成的函数:
y=interp1(x0,y0,x,'spline');
y=spline(x0,y0,x);
pp=csape(x0,y0,conds),
pp=csape(x0,y0,conds,valconds),y=ppval(pp,x)。
其中 x0,y0 是已知数据点,x 是插值点,y 是插值点的函数值。
对于三次样条插值,我们提倡使用函数 csape,csape 的返回值是 pp 形式,要求插值点
2
的函数值,必须调用函数 ppval。
pp=csape(x0,y0):使用默认的边界条件,即 Lagrange 边界条件。
pp=csape(x0,y0,conds,valconds)中的 conds 指定插值的边界条件,其值可为:
'complete' 边界为一阶导数,一阶导数的值在 valconds 参数中给出,若忽略 valconds
参数,则按缺省情况处理。
'not-a-knot' 非扭结条件
'periodic' 周期条件
'second' 边界为二阶导数,二阶导数的值在 valconds 参数中给出,若忽略 valconds
参数,二阶导数的缺省值为[0, 0]。
'variational' 设置边界的二阶导数值为[0,0]。
对于一些特殊的边界条件,可以通过 conds 的一个
21
×
矩阵来表示,conds 元素的取值
为 0,1,2。
conds(i)=j 的含义是给定端点 的
i
j
阶导数,即 conds 的第一个元素表示左边界的条件,
第二个元素表示右边界的条件,conds=[2,1]表示左边界是二阶导数,右边界是一阶导数,对
应的值由 valconds 给出。
例 2 机床加工
待加工零件的外形根据工艺要求由一组数据 给出(在平面情况下),用程控铣床
加工时每一刀只能沿
),( yx
x
方向和 方向走非常小的一步,这就需要从已知数据得到加工所要求
的步长很小的 坐标。
y
),( yx
表中给出的
y
x
,
数据位于机翼断面的下轮廓线上,假设需要得到
x
坐标每改变 0.1 时的
坐标。试完成加工所需数据,画出曲线,并求出
y
0
=
x
处的曲线斜率和 范围
内 的最小值。
1513 ≤≤ x
y
x
0 3 5 7 9 11 12 13 14 15
y
0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6
要求用分段线性和三次样条计算。
解 编写以下程序:
x0=[0 3 5 7 9 11 12 13 14 15];
y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6];
x=0:0.1:15;
y2=interp1(x0,y0,x);
y3=interp1(x0,y0,x,'spline');
pp1=csape(x0,y0);
y4=ppval(pp1,x);
pp2=csape(x0,y0,'second');
y5=ppval(pp2,x);
[x',y1',y2',y3',y4',y5']
subplot(2,2,1)
plot(x0,y0,'+',x,y2)
title('Piecewise linear')
subplot(2,2,2)
plot(x0,y0,'+',x,y3)
3
剩余10页未读,继续阅读
划水小哥
- 粉丝: 2
- 资源: 47
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1