Matlab在数据分析与统计中的应用
更新时间:2023-11-13 15:10:01 阅读量: 教育文库 文档下载
1.14 统计
在MATLAB中,与统计计算有关的命令主要有: max(x) 最大值 min(x) 最小值 mean(x) 平均值 median(x) 中间值 std(x) 方差 var(x) 标准差 cov(x,y) 协方差 corrcoef(x,y) 相关系数
rand(m,n) 生成元素服从均匀分布U[0,1]的m?n随机矩阵 rand(1,n) 生成元素服从均匀分布U[0,1]的n维随机行向量 rand(m,1) 生成元素服从均匀分布U[0,1]的m维随机列向量 rand(n) 生成元素服从均匀分布U[0,1]的n?n随机矩阵
randn(m,n) 生成元素服从标准正态分布N(0,1)的m?n随机矩阵 randn(1,n) 生成元素服从标准正态分布N(0,1)的n维随机行向量 randn(m,1) 生成元素服从标准正态分布N(0,1)的m维随机列向量 randn(n) 生成元素服从标准正态分布N(0,1)的n?n随机矩阵 normpdf(a,mu,sigma) 正态分布的概率密度函数在a处的值 normcdf(a,mu,sigma) 正态分布的概率分布函数在a处的值
a=norminv(p,mu,sigma) 已知
?a??f?x?dx?p,求a,其中f(x)为正态分布的概率密度
函数
例1.14.1 随机输入一组数据,求其最大值、最小值、平均值和中间值. >> x=[-43 72 9 16 23 47]; >> max(x) ans = 72 >> min(x) ans = -43
>> mean(x) ans =
20.6667 >> median(x) ans =
19.5000
例1.14.2 随机输入一组数据,求其方差与标准差.
>> x=rand(1,10) %随机生成元素服从均匀分布U[0,1]的10维向量 x =
Columns 1 through 7
0.0592 0.6029 0.0503 0.4154 0.3050 0.8744 0.0150 Columns 8 through 10
0.7680 0.9708 0.9901 >> std(x) ans =
0.3889 >> var(x) ans =
0.1512
例1.14.3 随机输入两组数据,求其协方差与相关系数. >> x=rand(1,5) x =
0.7889 0.4387 0.4983 0.2140 0.6435 >> y=randn(1,5) y =
-0.4326 -1.6656 0.1253 0.2877 -1.1465 >> cov(x,y) ans =
0.0471 -0.0557 -0.0557 0.6926 >> corrcoef(x,y) ans =
1.0000 -0.3083 -0.3083 1.0000 1.16 拟合与回归
拟合(fitting)是数据处理和数值计算的一种重要问题和方法,它要求用一条相对光滑的曲线来近似地描述给定的一组数据点满足的函数关系. 具体提法是:设给定的一组数据点(xi,yi)(i?1,?,n)近似地满足函数关系y?f(x),试确定y?f(x)的具体形式. 这里,y?f(x)称为拟合函数或经验公式,不要求它经过每一个数据点,只需使之与各数据点之间的距离尽可能小即可,其具体形式可经由经验、散点图或数学建模等确定.
解决拟合问题最常用的方法是最小二乘法,其原理是:minS??[f(x)?y]iii?1n2(残差平方和
最小).根据f(x)是否是线性函数,最小二乘拟合可分为线性最小二乘拟合和非线性最小二乘拟合两种形式。
回归是统计分析的一种重要方法,它不仅要对数据进行拟合,还要进行变量选择、参数估计、假设检验、预测、控制等统计分析。此处主要介绍拟合.
在MATLAB中,与拟合和回归有关的命令主要有:
polyfit(x,y,n) n次多项式拟合(n?1时为线性拟合) regress(y,x) 多元线性回归分析(仅进行参数拟合)
nlinfit(x,y,f,beta) 非线性拟合,其中f为函数,beta为f中的参数的初值
例1.16.1 实验测得一组数据(x,y)如下表所示:
表1.1 实验测得数据 x 18 20 22 24 26 28 y 26.86 27.50 28.00 28.87 29.50 30.00 试确定y和x之间的函数关系y?f(x). 输入如下程序:
>> x=[18,20,22,24,26,28,30];
>> y=[26.86,27.50,28.00,28.87,29.50,30.00,30.36]; >> scatter(x,y) %散点图 输出如下结果:
30 30.36 30.53029.52928.52827.52726.518202224262830图1.22 实验测得数据的散点图
由散点图知,y?f(x)近似为线性函数. 拟合:
>> polyfit(x,y,1) %线性拟合 ans =
0.3036 21.4414 因此,y?0.3036x?21.4414.
例1.16.2 用下表中的数据拟合函数c(t)?re?kt中的参数r,k:
表1.2 例1.16.2的数据表 t 0.25 0.5 1 0.5 2 3 c 19.21 18.15 15.36 14.10 12.89 9.32 ?kt
4 7.45 6 5.24 8 3.01 本例可采用“化曲为直”思想:c?re?lnc??kt?lnr,再进行线性拟合即可. >> t=[0.25 0.5 1 0.5 2 3 4 6 8];
>> c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01]; >> polyfit(-t,log(c),1) ans =
0.2257 2.9430
e?0.2257t. 因此,lnc??0.2257t?2.9430,即c?18.9727例1.16.3 对下表中的实验数据进行线性回归分析:
表1.3 例1.16.3的实验数据
1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 y 698 872 988 807 738 1025 1316 1539 1561 1765 1762 x 2003 2435 2625 2948 3155 3372 y 1960 1902 2013 2446 2736 2825 输入如下程序: >> x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3155 3372];
>> y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];
>> regress(y',x',0.05) 输出如下结果:
x ans =
-460.5282 0.9840
因此,y?0.9840x?460.5282.
例1.16.4 有一组实验数据如下表所示:
表1.4 例1.16.4的实验数据 xy 1 2 3 4 5 6 7 8 9 3.21 2.1 4.8 8.7 5.8 8.32 7.65 5.43 3.32 试用7次多项式拟合之,并检验拟合效果. 输入如下程序: >> x=1:10;
>> y=[3.21 2.1 4.8 8.7 5.8 8.32 7.65 5.43 3.32 2.76]; >> scatter(x,y) >> hold on
>> y1=polyfit(x,y,7) %7次多项式拟合 y1 =
-0.0006 0.0266 -0.4721 4.3792 -22.6858 64.3874 -88.4515 46.0660
>> x0=1:0.05:10;
>> y2=polyval(y1,x0);
>> plot(x,y2,'r') %作出拟合曲线
>> legend('实验数据的散点图','拟合曲线',4) 输出如下结果:
9 8765y4321实验数据的散点图拟合曲线01 2345678910x图1.23 实验数据的散点图及其拟合曲线
图像表明,拟合效果良好.
例1.16.5 用函数y?ax3?b拟合下表中的数据:
表1.5 例1.16.5的数据
10 2.76
x y 输入如下程序: ?2 ?1 ?7.9 ?1.1 0 0 1 1.05 2 8.0 >> x=[-2 -1 0 1 2];
>> y=[-7.9 -1.1 0 1.05 8.0]; >> beta=[0.1 0];
>> fun=inline('A(1)*x.^3+A(2)','A','x'); >> nlinfit(x,y,fun,beta)
输出如下结果:
ans =
0.9950 0.0100
因此,y?0.995x3?0.01.
注 在上述程序中,“inline”是MATLAB中的一个很实用的内置命令函数,利用它可以直接在命令行
中定义函数,而不必非得在M文件中单独定义. inline命令的使用规则是:inline('f(x)','beta',
'x'),其中f(x)为待定义的函数,beta为f(x)中的参数的向量名,x为变量.
例1.16.6 利用以下数据拟合录像带转过的时间t与计数器的读数n之间的关系t表1.6 时间与计数器读数的数据表 0 617 1141 1601 2019 2403 2760 3096 n 0 10 20 30 40 50 60 70 t n 4004 4280 4545 4803 5051 5291 5525 5752 t 100 110 120 130 140 150 160 170 输入如下程序:
?a1n2?a2:
3413 3715 80 90 6061 184 >> clear;
>> format long
>> n=[0,617,1141,1601,2019,2403,2760,3096,3413,3715,4004,4280,4545,4803, 5051,5291,5525,5752,6061];
>> t=[0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,184]; >> fun=inline('a(1)*n.^2+a(2)*n ','a','n'); >> nlinfit(n,t,fun,[0 0]) 输出如下结果: ans =
0.00000261139318 0.01452963191504
9318n?0.01452963191504. 因此,t?0.0000026113除MATLAB外,LINGO和1stOpt两种软件也有很强的数据拟合功能,分别见第二章和第三章.
1.17 插值
与拟合问题不同,插值(interpolation)问题要求对于给定的n个数据点(xi,yi),找到一个函数
2y?f(x),使f(xi)?yi(i?0,1,?,n),其中(xi,yi)为插值节点,f(x)为插值函数,f(xi)?yi为插值条件.
根据插值函数的类型,插值问题可分为代数插值和样条函数插值两种. 代数插值的插值函数为多项式,亦称为多项式插值;样条函数插值的插值函数为样条函数,其中样条(spline)的概念来源于船舶、飞机等设计中描绘光滑曲线用的绘图工具,而数学上的样条函数则是若干段多项式函数光滑连结而成的分段函数.
在MATLAB中,与插值有关的命令主要有:
interp1(x,y,xi,’method’) 一维插值,其中(x,y)为插值节点(x不必为单调数列), xi为被插值点,method为插值方式,包括nearest(最
正在阅读:
Matlab在数据分析与统计中的应用11-13
宇宙与人的观后感04-01
etc车道重点难点05-21
小学体育课堂有效组织教学综合评价方案`05-17
(101203)2009.11.20大学物理C复习要点05-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据分析
- 统计
- 应用
- Matlab
- 苏教版数学四年级下册第二单元(认识多位数)练习题测试卷
- 小班教学设计与思考
- 单片机原理及应用试卷2及其答案
- 2019四川教师招聘面试说课:中学物理学科说课稿(12.24)
- 大数据中心运维服务技术方案设计
- 《进出口报关实务》项目七进出口税费习题解答(罗兴武)
- 九一八
- 计算机导论课程设计
- 县委书记在全县重点工作推进会上的讲话
- 发热门诊的工作制度
- 多元统计分析期末考试
- 西工大材料考研必看练习题 - 图文
- 傻瓜中继盒实现远方中继台(手持台)与本地手持台信号互通方案(1)
- 2习题解答
- 加热器用户手册 - 图文
- 关于调整公布浙江危险化学品安全生产专业技术人员-浙江安监局
- 统计学期末复习材料
- 最新青岛版(五四制)小学数学五年级下册《百分数(一)》优秀教案1
- 运维系统及中心机房应急预案
- 中国民航飞行员英语900句题库