已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章MATLAB数据分析6 1数据统计处理6 2数据插值6 3曲线拟合6 4离散傅立叶变换 6 1 1最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min 两个函数的调用格式和操作过程类似 1 求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式 分别是 y max X 返回向量X的最大值存入y 如 X中包含复数元素 则按模取最大值 2 y I max X 返回向量X的最大值存入y 最大值的序号存入I 如果X中包含复数元素 则按模取最大值 6 1数据统计处理 例 求向量x的最大值 命令如下 x 43 72 9 15 23 47 y max x 求向量x中的最大值 y l max x 求向量x中的最大值及其该元素的位置 例 产生一个10个随机数的行向量 然后编制程序利用max或min函数来进行由小到大的排序 clear clc A 10 rand 1 10 fori 1 length A y u max A B i y A u end 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行上的最大值 Dim 1 Dim 2 8 9 7 8 7 9 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中的较大者 6 1 2求和与求积sum X 返回向量X各元素的和 prod X 返回向量X各元素的乘积 6 1 3平均值和中值mean X 返回向量X的算术平均值 median X 返回向量X的中值 6 1 4累加和与累乘积cumsum X 返回向量X累加和向量 cumprod X 返回向量X累乘积向量 6 1 5标准方差 试验数据处理求标准方差 在MATLAB中 提供了计算数据序列的标准方差的函数std 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 生成满足正态分布的10000 5随机矩阵 然后求各列元素的均值和标准方差 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中位置 生成一个1 100的随机序列 并用sort进行排序 5 2数据插值 6 2 1一维数据插值在MATLAB中 实现这些插值的函数是interp1 其调用格式为 Y1 interp1 X Y X1 method 函数根据X Y的值 计算函数在X1处的值 X Y是两个等长的已知向量 分别描述采样点和样本值 X1是一个向量或标量 描述欲插值的点 Y1是一个与X1等长的插值结果 method是插值方法 有 linear nearest cubic spline linear 线性插值 较快有足够精度 常作为缺省设置 cubic 三次多项式插值 较慢精度高 平滑性好 作平滑用 spline 三次样条插值 最慢精度高 最平滑 nearst 最近邻插值 最快 精度低 不平滑 例 某观测站测得某日6 00时至18 00时之间每隔2小时的室内外温度 用3次样条插值分别求得该日室内外6 30至17 30时之间每隔20分钟各点的近似温度 设时间变量h为一行向量 温度变量t为一个两列矩阵 其中第一列存放室内温度 第二列储存室外温度 命令如下 h 6 2 18 t 18 20 22 25 30 28 24 15 19 24 28 34 32 30 XI 6 5 0 2 17 5 YI interp1 h t XI spline plot h t 1 ob XI YI 1 r h t 2 k XI YI 2 g 6 2 2二维数据插值在MATLAB中 提供了解决二维插值问题的函数interp2 在已知x和y向量 二维插值求解近似的z f x y 关系式 从而可方便得到其它位置点的函数值 其调用格式为 Z1 interp2 X Y Z X1 Y1 method 其中X Y是两个向量 分别描述两个参数的采样点 Z是与参数采样点对应的函数值 X1 Y1是两个向量或标量 描述欲插值的点 Z1是根据相应的插值方法得到的插值结果 method的取值与一维插值函数相同 X Y Z也可以是矩阵形式 Example Interpolatethepeaksfunctionoverafinergrid X Y meshgrid 3 25 3 Z peaks X Y XI YI meshgrid 3 125 3 ZI interp2 X Y Z XI YI mesh X Y Z hold mesh XI YI ZI 15 holdoffaxis 33 33 520 例 某实验对一根长10米的钢轨进行热源的温度传播测试 用x表示测量点0 2 5 10 米 用h表示测量时间0 30 60 秒 用T表示测试所得各点的温度 试用线性插值求出在一分钟内每隔20秒 钢轨每隔1米处的温度TI x 0 2 5 10 传播距离h 0 30 60 传播时间hourT 95 14 0 0 0 88 48 32 12 6 67 64 54 48 41 各点温度xi 0 10 新传播距离点hi 0 20 60 新时间点TI interp2 x h T xi hi 插值得到的温度 6 3曲线多项式拟合 曲线多项式拟合 用已经测量实验数据 以多项表达式来作为近似函数 能够非常贴近并反映实验数据的特点和趋势 注意该函数值并不一定经过原数据点 和插值不同 插值法 数据假定是正确的 要求以某种方法描述数据点之间所发生的情况 必须经过数据点 都是要求 P xi yi惹得祸 polyfit函数的调用格式为 P S polyfit X Y m 函数根据采样点X和采样点函数值Y 产生一个m次多项式P及其在采样点的误差向量S 其中X Y是两个等长的向量 P是一个长度为m 1的向量 P的元素为多项式系数 polyval函数的功能是按多项式的系数计算x点多项式的值 格式为 Y POLYVAL P X 其中 P为利用polyfit求得的多项式系数 例 已知数据表 x y 试求3次拟合多项式p x 然后求xx 0 0 01 1各点的函数近似值 并绘制图形 x0 0 0 1 1 y0 4471 9783 115 255 024 664 014 583 455 359 22 p polyfit x0 y0 3 xx 0 0 01 1 yy polyval p xx plot xx yy b x0 y0 or 注意事项 实际测量数据的范围不同 曲线拟合后得到的多项式未必相同 所以不能用一个小范围内的拟合来表征大范围的拟合 x 0 0 1 2 5 y erf x p polyfit x y 6 x 0 0 1 5 y erf x f polyval p x plot x y o x f axis 0502 6 4傅立叶变换傅立叶级数 研究目的 把一个基于时间变量t的函数展开成傅立叶级数的目的是分解为不同的频率分量 以便进行各种滤波算法 这些基本的组成部分是正弦函数sin nt 和余弦函数cos nt 应用领域 信号分析 包括滤波 数据压缩 电力系统的监控等 研究偏微分方程 比如求解热力学方程的解时 把f t 展开为三角级数最为关键 概率与统计 量子力学等学科 系数求解和级数展开构成一对相反的变换在matlab中用fft和ifft来表示 离散傅立叶变换的实现 一维离散傅立叶变换函数 其调用格式与功能为 fft X 返回向量X的离散傅立叶变换 设X的长度 即元素个数 为N 若N为2的幂次 则为以2为基数的快速傅立叶变换 否则计算速度下降 对于矩阵X fft X 应用于矩阵的每一列fft X N 计算N点离散傅立叶变换 它限定向量的长度为N 若X的长度小于N 则不足部分补上零 若大于N 则删去超出N的那些元素 对于矩阵X 它同样应用于矩阵的每一列 只是限定了向量的长度为N 一维离散傅立叶逆变换函数是ifft 用法与fft一样 下例是从随机噪声里面提取信号的范例 yan07528 t 0 0 001 0 6 x sin 2 pi 50 t sin 2 pi 120 t y x 2 randn size t 叠加随机噪声plot 1000 t 1 50 y 1 50 xlabel time milliseconds holdontt 0 0 0001 0 6 xx interp1 t x tt spline plot 1000 tt 1 500 xx 1 500 g holdoffY fft y 512 傅立叶变换得到频率谱Pyy Y conj Y 512 频率谱功率密度f 1000 0 256 512 仅取前257个数据点figure 2 plot f Pyy 1 257 绘制含有噪声的频率谱密度title Frequencycontentofy xlabel frequency Hz 信号提取出来s find f 48figure 3 stem B Pyy s g 例 给定数学函数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 上机题 1 已知某班的5名学生的三门课成绩列表如下 学生序号12345高等数学7889647368外语8377807870MATLAB语言8291788268试写出有关命令 先分别找出三门课的最高分及其学生序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论