Matlab哈工大讲义第三讲 数据处理-文档资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/3/14
baowen@hcms.hit.edu.cn
4 曲线拟和与插值
• 在分析试验数据中,常常要面临将试验 数据作解析描述的任务,这个问题有曲 线拟合和插值两种方法。 • 在曲线拟合中,假定已知曲线的规律, 作曲线的最佳逼近,但不需要经过所有 的数据点;在插值中,认为数据是准确 的,求取其中描述点之间的数据。
2019/3/14
三次样条
• pp形式可以和三次多项式形式转化: • [break,coef,np,nc]=unmkpp(pp) • 断点、三次多项式、多项式数量、系数数量 • pp=mkpp(break,coef);
• 由于转化为了多项式形式,可以方便的进行 积分和微分运算。
MATLAB及其应用
第三讲 数据处理 授课人:鲍文
2019/3/14
哈尔滨工业大学动力工程控制与仿真研究所
baowen@hcms.hit.edu.cn
>
退出
目录
1 矩阵分析
2 数据分析函数 3 多项式处理 4 曲线拟和与插值
5 数据分析
6 微分方程数值解
2019/3/14 哈尔滨工业大学动力工程控制与仿真研究所
matlab
二、插值函数
• 1、曲线插值函数interp1 • 方法 t=interp1(x,y,x0,’method’) • x、y:原始数据点,x0为进行插值的数组 ,method为插值算法 : 线性插值('linear'),三 次样条插值('spline'), 三 次 多 项 式 插 值 (‘cubic’). • 如果x0出界,则对应值为NaN • 例程:ex42.m
baowen@hcms.hit.edu.cn
<
>
主菜单
退出
1 矩阵分析
• 一、特征值分解 对于方阵a特征值问题:ax=rx,求取a阵的特 征值和特征向量使用下面的方法: [v,d]=eig(a) • 使用 [v,d]=eig(a,’nobalance’) • “平衡” 的作用减少计算误差,不平衡用于A 阵大小悬殊的时候。 • 广义特征值问题:ax=rbx,求解的方式为: • [v,d]=eig(a,b)
2019/3/14
baowen@hcms.hit.edu.cn
二、三角分解
• 三角分解把矩阵分解为上三角矩阵和下 三角矩阵,又称为LU分解或者。计算中 使用高斯变量消去法。这一分解使用 • [l,u]=lu(a)实现。
2019/3/14
baowen@hcms.hit.edu.cn
三、奇异值分解
• [u,s,v]=svd(a) • 实现奇异值分解。 • 分解得到的三个因数有如下关系 • a=u*s*v • 其中u矩阵和v矩阵是正交矩阵,s矩阵是 对角矩阵,它的对角元素是a矩阵的奇异 值。 • 奇异值分解的稳定性很好。
2019/3/14
baowen@hcms.hit.edu.cn
一、曲线拟合
• 1、多项式的最小二乘曲线拟合 • 使用polyfit,它需要曲线的x、y值,以及曲 线的阶数。 • 曲线的阶数:如果曲线的阶数选择的过小, 拟合效果不好;如果曲线的阶数过高,虽然 数据点上看到效果好,数据点之间会出现有 数据振荡的问题,阶数不宜过高,小于5阶 。 baowen@hcms.hit.edu.cn 2019/3/14 • 灵活使用拟合
2019/3/14
baowen@hcms.hit.edu.cn
例题
• 求出y=x*sin(x) 在0<x<100的每个峰值 • 思路: • 1、数学上峰值就是导数为零的点 • 2、导数在matlab中可以使用差分代替 • 3、差分后怎么求过零点呢?
2019/3/14
baowen@hcms.hit.edu.cn
2019/3/14
baowen@hcms.hit.edu.cn
二、多项式运算
• 函数conv进行乘法运算,deconv进行除 法运算。MATLAB没有提供特别的多项 式加减法运算。 • 多项式除法并不一定能够除尽,很多时 候需要有余数多项式。 • 多项式微分使用polyder(p)函数,估计值 使用polyval(p,at)函数。
matlab
2、直接最小二乘
• 数据规律并不是多项式形式,直接最小 二乘来拟合。
• 最小二乘函数为k=nnls(fx,y)
• 计算结果将使得|fx*k-y|2范数下最小 • 在计算中,fx可以为x的函数。 • 例子:拟合 q p
2019/3/14
baowen@hcms.hit.edu.cn
2019/3/14
baowen@hcms.hit.edu.cn
Biblioteka Baidu 2、曲面插值
• • • • • • • 插值函数: interp2,基本形式: zi=interp2(x,y,z,xi,yi,method) method包括 linear:线性 cubic:三次多项式 nearest:粗略估计数据 例程:ex43
2019/3/14
baowen@hcms.hit.edu.cn
三、三次样条
• 1、使用的原因 • 高阶多项式插值出现病态问题,三次 样条使用分段多项式,各点上的三次导 数相等。它光滑、导数连续。 • 2、插值 • yi=spline(x,y,xi); • pp=spline(x,y); 分段多项式形式 • 例程:ex44 baowen@hcms.hit.edu.cn
2019/3/14
baowen@hcms.hit.edu.cn
2 数据分析函数
• • • • • • 函数名 含义 max 最大值 min 最小值 mean 均值 std 标准方差 median 中值
2019/3/14
baowen@hcms.hit.edu.cn
分析函数
• • • • • • 函数名 含义 sum 元素的总和 prod 元素的乘积 cumrod 元素的累积 cumsum 元素的累加和 diff 差分函数:少了一个元素
3 多项式处理
一、多项式表示
• 多项式在MATLAB中使用降幂系数的行 向量表示。表示中需要包含零系数的项 。poly2str:control toolbox中的函数 • 使用函数roots可找出多项式等于零的根。 • 规定:多项式用行向量,根用列向量。 • 给出多项式的根,使用poly函数也可以构 造出相应的多项式。
baowen@hcms.hit.edu.cn
4 曲线拟和与插值
• 在分析试验数据中,常常要面临将试验 数据作解析描述的任务,这个问题有曲 线拟合和插值两种方法。 • 在曲线拟合中,假定已知曲线的规律, 作曲线的最佳逼近,但不需要经过所有 的数据点;在插值中,认为数据是准确 的,求取其中描述点之间的数据。
2019/3/14
三次样条
• pp形式可以和三次多项式形式转化: • [break,coef,np,nc]=unmkpp(pp) • 断点、三次多项式、多项式数量、系数数量 • pp=mkpp(break,coef);
• 由于转化为了多项式形式,可以方便的进行 积分和微分运算。
MATLAB及其应用
第三讲 数据处理 授课人:鲍文
2019/3/14
哈尔滨工业大学动力工程控制与仿真研究所
baowen@hcms.hit.edu.cn
>
退出
目录
1 矩阵分析
2 数据分析函数 3 多项式处理 4 曲线拟和与插值
5 数据分析
6 微分方程数值解
2019/3/14 哈尔滨工业大学动力工程控制与仿真研究所
matlab
二、插值函数
• 1、曲线插值函数interp1 • 方法 t=interp1(x,y,x0,’method’) • x、y:原始数据点,x0为进行插值的数组 ,method为插值算法 : 线性插值('linear'),三 次样条插值('spline'), 三 次 多 项 式 插 值 (‘cubic’). • 如果x0出界,则对应值为NaN • 例程:ex42.m
baowen@hcms.hit.edu.cn
<
>
主菜单
退出
1 矩阵分析
• 一、特征值分解 对于方阵a特征值问题:ax=rx,求取a阵的特 征值和特征向量使用下面的方法: [v,d]=eig(a) • 使用 [v,d]=eig(a,’nobalance’) • “平衡” 的作用减少计算误差,不平衡用于A 阵大小悬殊的时候。 • 广义特征值问题:ax=rbx,求解的方式为: • [v,d]=eig(a,b)
2019/3/14
baowen@hcms.hit.edu.cn
二、三角分解
• 三角分解把矩阵分解为上三角矩阵和下 三角矩阵,又称为LU分解或者。计算中 使用高斯变量消去法。这一分解使用 • [l,u]=lu(a)实现。
2019/3/14
baowen@hcms.hit.edu.cn
三、奇异值分解
• [u,s,v]=svd(a) • 实现奇异值分解。 • 分解得到的三个因数有如下关系 • a=u*s*v • 其中u矩阵和v矩阵是正交矩阵,s矩阵是 对角矩阵,它的对角元素是a矩阵的奇异 值。 • 奇异值分解的稳定性很好。
2019/3/14
baowen@hcms.hit.edu.cn
一、曲线拟合
• 1、多项式的最小二乘曲线拟合 • 使用polyfit,它需要曲线的x、y值,以及曲 线的阶数。 • 曲线的阶数:如果曲线的阶数选择的过小, 拟合效果不好;如果曲线的阶数过高,虽然 数据点上看到效果好,数据点之间会出现有 数据振荡的问题,阶数不宜过高,小于5阶 。 baowen@hcms.hit.edu.cn 2019/3/14 • 灵活使用拟合
2019/3/14
baowen@hcms.hit.edu.cn
例题
• 求出y=x*sin(x) 在0<x<100的每个峰值 • 思路: • 1、数学上峰值就是导数为零的点 • 2、导数在matlab中可以使用差分代替 • 3、差分后怎么求过零点呢?
2019/3/14
baowen@hcms.hit.edu.cn
2019/3/14
baowen@hcms.hit.edu.cn
二、多项式运算
• 函数conv进行乘法运算,deconv进行除 法运算。MATLAB没有提供特别的多项 式加减法运算。 • 多项式除法并不一定能够除尽,很多时 候需要有余数多项式。 • 多项式微分使用polyder(p)函数,估计值 使用polyval(p,at)函数。
matlab
2、直接最小二乘
• 数据规律并不是多项式形式,直接最小 二乘来拟合。
• 最小二乘函数为k=nnls(fx,y)
• 计算结果将使得|fx*k-y|2范数下最小 • 在计算中,fx可以为x的函数。 • 例子:拟合 q p
2019/3/14
baowen@hcms.hit.edu.cn
2019/3/14
baowen@hcms.hit.edu.cn
Biblioteka Baidu 2、曲面插值
• • • • • • • 插值函数: interp2,基本形式: zi=interp2(x,y,z,xi,yi,method) method包括 linear:线性 cubic:三次多项式 nearest:粗略估计数据 例程:ex43
2019/3/14
baowen@hcms.hit.edu.cn
三、三次样条
• 1、使用的原因 • 高阶多项式插值出现病态问题,三次 样条使用分段多项式,各点上的三次导 数相等。它光滑、导数连续。 • 2、插值 • yi=spline(x,y,xi); • pp=spline(x,y); 分段多项式形式 • 例程:ex44 baowen@hcms.hit.edu.cn
2019/3/14
baowen@hcms.hit.edu.cn
2 数据分析函数
• • • • • • 函数名 含义 max 最大值 min 最小值 mean 均值 std 标准方差 median 中值
2019/3/14
baowen@hcms.hit.edu.cn
分析函数
• • • • • • 函数名 含义 sum 元素的总和 prod 元素的乘积 cumrod 元素的累积 cumsum 元素的累加和 diff 差分函数:少了一个元素
3 多项式处理
一、多项式表示
• 多项式在MATLAB中使用降幂系数的行 向量表示。表示中需要包含零系数的项 。poly2str:control toolbox中的函数 • 使用函数roots可找出多项式等于零的根。 • 规定:多项式用行向量,根用列向量。 • 给出多项式的根,使用poly函数也可以构 造出相应的多项式。