第章T数据分析与多项式计算整理.ppt

上传人:摩西的****12 文档编号:133216854 上传时间:2020-05-25 格式:PPT 页数:36 大小:167.50KB
返回 下载 相关 举报
第章T数据分析与多项式计算整理.ppt_第1页
第1页 / 共36页
第章T数据分析与多项式计算整理.ppt_第2页
第2页 / 共36页
第章T数据分析与多项式计算整理.ppt_第3页
第3页 / 共36页
第章T数据分析与多项式计算整理.ppt_第4页
第4页 / 共36页
第章T数据分析与多项式计算整理.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《第章T数据分析与多项式计算整理.ppt》由会员分享,可在线阅读,更多相关《第章T数据分析与多项式计算整理.ppt(36页珍藏版)》请在金锄头文库上搜索。

1、第6章MATLAB数据分析与多项式计算6 1数据统计处理6 2数据插值6 3曲线拟合6 4离散傅立叶变换6 5多项式计算 6 1数据统计处理6 1 1最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min 两个函数的调用格式和操作过程类似 1 求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式 分别是 1 y max X 返回向量X的最大值存入y 如果X中包含复数元素 则按模取最大值 2 y I max X 返回向量X的最大值存入y 最大值的序号存入I 如果X中包含复数元素 则按模取最大值 求向量X的最小值的函数是min X 用法和max X 完全相同

2、 例6 1求向量x的最大值 命令如下 x 43 72 9 16 23 47 y max x 求向量x中的最大值 y l max x 求向量x中的最大值及其该元素的位置 2 求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式 分别是 1 max A 返回一个行向量 向量的第i个元素是矩阵A的第i列上的最大值 2 Y U max A 返回行向量Y和U Y向量记录A的每列的最大值 U向量记录每列最大值的行号 3 max A dim dim取1或2 dim取1时 该函数和max A 完全相同 dim取2时 该函数返回一个列向量 其第i个元素是A矩阵的第i行上的最大值 求最小值的函数是min 其

3、用法和max完全相同 例6 2分别求3 4矩阵x中各列和各行元素中的最大值 并求整个矩阵的最大值和最小值 3 两个向量或矩阵对应元素的比较函数max和min还能对两个同型的向量或矩阵进行比较 调用格式为 1 U max A B A B是两个同型的向量或矩阵 结果U是与A B同型的向量或矩阵 U的每个元素等于A B对应元素的较大者 2 U max A n n是一个标量 结果U是与A同型的向量或矩阵 U的每个元素等于A对应元素和n中的较大者 min函数的用法和max完全相同 例6 3求两个2 3矩阵x y所有同一位置上的较大元素构成的新矩阵p 6 1 2求和与求积数据序列求和与求积的函数是sum和

4、prod 其使用方法类似 设X是一个向量 A是一个矩阵 函数的调用格式为 sum X 返回向量X各元素的和 prod X 返回向量X各元素的乘积 sum A 返回一个行向量 其第i个元素是A的第i列的元素和 prod A 返回一个行向量 其第i个元素是A的第i列的元素乘积 sum A dim 当dim为1时 该函数等同于sum A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的各元素之和 prod A dim 当dim为1时 该函数等同于prod A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的各元素乘积 例6 4求矩阵A的每行元素的乘积和全部元素的乘积 6 1 3平

5、均值和中值求数据序列平均值的函数是mean 求数据序列中值的函数是median 两个函数的调用格式为 mean X 返回向量X的算术平均值 median X 返回向量X的中值 mean A 返回一个行向量 其第i个元素是A的第i列的算术平均值 median A 返回一个行向量 其第i个元素是A的第i列的中值 mean A dim 当dim为1时 该函数等同于mean A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的算术平均值 median A dim 当dim为1时 该函数等同于median A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的中值 例6 5分别求向量x

6、与y的平均值和中值 6 1 4累加和与累乘积在MATLAB中 使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量 函数的调用格式为 cumsum X 返回向量X累加和向量 cumprod X 返回向量X累乘积向量 cumsum A 返回一个矩阵 其第i列是A的第i列的累加和向量 cumprod A 返回一个矩阵 其第i列是A的第i列的累乘积向量 cumsum A dim 当dim为1时 该函数等同于cumsum A 当dim为2时 返回一个矩阵 其第i行是A的第i行的累加和向量 cumprod A dim 当dim为1时 该函数等同于cumprod A 当dim

7、为2时 返回一个向量 其第i行是A的第i行的累乘积向量 例6 6求s的值 6 1 5标准方差与相关系数1 求标准方差在MATLAB中 提供了计算数据序列的标准方差的函数std 对于向量X std X 返回一个标准方差 对于矩阵A std A 返回一个行向量 它的各个元素便是矩阵A各列或各行的标准方差 std函数的一般调用格式为 Y std A flag dim 其中dim取1或2 当dim 1时 求各列元素的标准方差 当dim 2时 则求各行元素的标准方差 flag取0或1 当flag 0时 按 1所列公式计算标准方差 当flag 1时 按 2所列公式计算标准方差 缺省flag 0 dim 1

8、 例6 7对二维矩阵x 从不同维方向求出其标准方差 2 相关系数MATLAB提供了corrcoef函数 可以求出数据的相关系数矩阵 corrcoef函数的调用格式为 corrcoef X 返回从矩阵X形成的一个相关系数矩阵 此相关系数矩阵的大小与矩阵X一样 它把矩阵X的每列作为一个变量 然后求它们的相关系数 corrcoef X Y 在这里 X Y是向量 它们与corrcoef X Y 的作用一样 例6 8生成满足正态分布的10000 5随机矩阵 然后求各列元素的均值和标准方差 再求这5列随机数据的相关系数矩阵 命令如下 X randn 10000 5 M mean X D std X R c

9、orrcoef X 6 1 6排序MATLAB中对向量X是排序函数是sort X 函数返回一个对X中的元素按升序排列的新向量 sort函数也可以对矩阵A的各列或各行重新排序 其调用格式为 Y I sort A dim 其中dim指明对A的列还是行进行排序 若dim 1 则按列排 若dim 2 则按行排 Y是排序后的矩阵 而I记录Y中的元素在A中位置 例6 9对二维矩阵做各种排序 6 2数据插值6 2 1一维数据插值在MATLAB中 实现这些插值的函数是interp1 其调用格式为 Y1 interp1 X Y X1 method 函数根据X Y的值 计算函数在X1处的值 X Y是两个等长的已知

10、向量 分别描述采样点和样本值 X1是一个向量或标量 描述欲插值的点 Y1是一个与X1等长的插值结果 method是插值方法 允许的取值有 linear nearest cubic spline 注意 X1的取值范围不能超出X的给定范围 否则 会给出 NaN 错误 例6 10用不同的插值方法计算在 2点的值 MATLAB中有一个专门的3次样条插值函数Y1 spline X Y X1 其功能及使用方法与函数Y1 interp1 X Y X1 spline 完全相同 例6 11某观测站测得某日6 00时至18 00时之间每隔2小时的室内外温度 用3次样条插值分别求得该日室内外6 30至17 30时之

11、间每隔2小时各点的近似温度 设时间变量h为一行向量 温度变量t为一个两列矩阵 其中第一列存放室内温度 第二列储存室外温度 命令如下 h 6 2 18 t 18 20 22 25 30 28 24 15 19 24 28 34 32 30 XI 6 5 2 17 5YI interp1 h t XI spline 用3次样条插值计算 6 2 2二维数据插值在MATLAB中 提供了解决二维插值问题的函数interp2 其调用格式为 Z1 interp2 X Y Z X1 Y1 method 其中X Y是两个向量 分别描述两个参数的采样点 Z是与参数采样点对应的函数值 X1 Y1是两个向量或标量 描

12、述欲插值的点 Z1是根据相应的插值方法得到的插值结果 method的取值与一维插值函数相同 X Y Z也可以是矩阵形式 同样 X1 Y1的取值范围不能超出X Y的给定范围 否则 会给出 NaN 错误 例6 12设z x2 y2 对z函数在 0 1 0 2 区域内进行插值 例6 13某实验对一根长10米的钢轨进行热源的温度传播测试 用x表示测量点0 2 5 10 米 用h表示测量时间0 30 60 秒 用T表示测试所得各点的温度 试用线性插值求出在一分钟内每隔20秒 钢轨每隔1米处的温度TI 命令如下 x 0 2 5 10 h 0 30 60 T 95 14 0 0 0 88 48 32 12

13、6 67 64 54 48 41 xi 0 10 hi 0 20 60 TI interp2 x h T xi hi 6 3曲线拟合在MATLAB中 用polyfit函数来求得最小二乘拟合多项式的系数 再用polyval函数按所得的多项式计算所给出的点上的函数近似值 polyfit函数的调用格式为 P S polyfit X Y m 函数根据采样点X和采样点函数值Y 产生一个m次多项式P及其在采样点的误差向量S 其中X Y是两个等长的向量 P是一个长度为m 1的向量 P的元素为多项式系数 polyval函数的功能是按多项式的系数计算x点多项式的值 将在6 5 3节中详细介绍 例6 14已知数据

14、表 t y 试求2次拟合多项式p t 然后求ti 1 1 5 2 2 5 9 5 10各点的函数近似值 6 4离散傅立叶变换6 4 1离散傅立叶变换算法简要6 4 2离散傅立叶变换的实现一维离散傅立叶变换函数 其调用格式与功能为 1 fft X 返回向量X的离散傅立叶变换 设X的长度 即元素个数 为N 若N为2的幂次 则为以2为基数的快速傅立叶变换 否则为运算速度很慢的非2幂次的算法 对于矩阵X fft X 应用于矩阵的每一列 2 fft X N 计算N点离散傅立叶变换 它限定向量的长度为N 若X的长度小于N 则不足部分补上零 若大于N 则删去超出N的那些元素 对于矩阵X 它同样应用于矩阵的每

15、一列 只是限定了向量的长度为N 3 fft X dim 或fft X N dim 这是对于矩阵而言的函数调用格式 前者的功能与FFT X 基本相同 而后者则与FFT X N 基本相同 只是当参数dim 1时 该函数作用于X的每一列 当dim 2时 则作用于X的每一行 值得一提的是 当已知给出的样本数N0不是2的幂次时 可以取一个N使它大于N0且是2的幂次 然后利用函数格式fft X N 或fft X N dim 便可进行快速傅立叶变换 这样 计算速度将大大加快 相应地 一维离散傅立叶逆变换函数是ifft ifft F 返回F的一维离散傅立叶逆变换 ifft F N 为N点逆变换 ifft F

16、dim 或ifft F N dim 则由N或dim确定逆变换的点数或操作方向 例6 15给定数学函数x t 12sin 2 10t 4 5cos 2 40t 取N 128 试对t从0 1秒采样 用fft作快速傅立叶变换 绘制相应的振幅 频率图 在0 1秒时间范围内采样128点 从而可以确定采样周期和采样频率 由于离散傅立叶变换时的下标应是从0到N 1 故在实际应用时下标应该前移1 又考虑到对离散傅立叶变换来说 其振幅 F k 是关于N 2对称的 故只须使k从0到N 2即可 程序如下 N 128 采样点数T 1 采样时间终点t linspace 0 T N 给出N个采样时间ti I 1 N x 12 sin 2 pi 10 t pi 4 5 cos 2 pi 40 t 求各采样点样本值xdt t 2 t 1 采样周期f 1 dt 采样频率 Hz X fft x 计算x的快速傅立叶变换XF X 1 N 2 1 F k X k k 1 N 2 1 f f 0 N 2 N 使频率轴f从零开始plot f abs F 绘制振幅 频率图xlabel Frequency ylabel F k 6 5

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

当前位置:首页 > 办公文档 > 总结/报告

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