MATLAB编程与应用系列-第5章 多项式与数据分析(4)

本系列教程来源于出版书籍《基于MATLAB编程基础与典型应用书籍》,如涉及版权问题,请联系:156204968@qq.com。 出版社:人民邮电出版社, 页数:525。

本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:156204968@qq.com

5.4.4 平均值和中值

MATLAB提供了求数据序列平均值的函数mean与数据序列中值的函数median,函数调用格式及功能见表5.5。
表5.5 求平均值与中值函数

函数名 功能
mean(X) 返回向量X的算术平均值
mean(A) 返回一个行向量,其第i个元素是矩阵A的第i列的算术平均值
mean(A,dim) 当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值
median(X) 返回向量X的中值
median(A) 返回一个行向量,其第i个元素是矩阵A的第i列的中值
median(A,dim) 当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是矩阵A的第i行的中值

【例5.16】求向量和矩阵的平均值与中值
在命令窗口输入以下内容,生成向量B和矩阵A如下:
>> B=[5 3 4 8 5 6 8 7 6 9 2 6]
>> A=rand(4) %生成4阶的随机矩阵
①求向量B的算术平均值与矩阵A的算术平均值,在命令窗口中输入:
>> mean(B) %向量B的算术平均值
计算得到的向量B的算术平均值如下:
ans =
5.7500
在命令窗口中输入:
>> mean(A) %矩阵A的算术平均值
计算得到的矩阵A的算术平均值如下:
ans =
0.7891 0.3084 0.2860 0.3083
②求向量B的中值与矩阵A的中值,在命令窗口中输入:
>> median(B) %向量B的中值
计算得到的向量B的中值如下:
ans =
6
在命令窗口中输入:
>> median(A) %矩阵A的中值
计算得到的矩阵A的中值如下:
ans =
0.9053 0.2054 0.2007 0.2355
③可以通过以下方式求矩阵A的算术平均值与中值,具体操作及返回结果如下:
> mean(A,1) %矩阵A每列的算术平均值
ans =
0.7891 0.3084 0.2860 0.3083
>> median(A,1) %矩阵A每列的中值
ans =
0.9053 0.2054 0.2007 0.2355
④求矩阵A的各行的算术平均值与中值,在命令窗口中输入:
>> mean(A,2) %计算得到矩阵A各行的算术平均值
>> median(A,2) %计算得到矩阵A各行的中值

5.4.5 累加和与累乘积

在MATLAB中,使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,函数调用格式及功能见表5.6。
表5.6 累加和与累加积函数

函数名 功能
cumsum(X) 返回向量X累加和向量
cumsum(A) 返回一个矩阵,其第i列是矩阵A的第i列的累加和向量
cumsum(A,dim) 当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第i行是矩阵A的第i行的累加和向量
cumprod(X) 返回向量X累乘积向量
cumprod(A) 返回一个矩阵,其第i列是矩阵A的第i列的累乘积向量
cumprod(A,dim) 当dim为1时,该函数等同于cumprod(A);当dim为2时,返回一个向量,其第i行是矩阵A的第i行的累乘积向量

【例5.17】求向量与矩阵的累加和与累乘积
在命令窗口输入以下内容,生成向量A和矩阵B如下:
>> A=[1 2 3 4 5 5 3 4 8 5 6 8 7 6 ]
>> B=rand(4) %生成四阶的随机阵
①计算向量A的累加和,返回为一向量,在命令窗口输入:
>> cumsum(A) %向量A的累加和
计算得到的向量A的累加和如下:
ans =
1 3 6 10 15 20 23 27 35 40 46 54 61 67
读者可以尝试使用以下命令,计算矩阵的累加和累乘积的结果,在MATLAB命令行窗口中输入:

>> cumsum(B) %计算矩阵B的累加和,返回一个矩阵
>> cumprod(A) %计算向量A的累乘积,返回为一向量
>> cumprod(B) %计算矩阵B累乘积,返回一个矩阵
>> cumsum(B,1) %计算矩阵的累加,按照列相加,返回一行向量
>> cumprod(B,1) %计算矩阵的累乘,按照列相乘,返回一行向量
>> cumsum(B,2) %计算矩阵的累加,按照行相加,返回一列向量
>> cumprod(B,2) %计算矩阵的累加,按照行相加,返回一列向量

5.4.6 标准方差

在MATLAB中,提供了计算数据序列的标准方差的函数std。该函数对于向量X返回一个标准方差;对于矩阵A返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。调用格式为:
Y=std(A,flag,dim)
其中,dim可以取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。flag可以取0或1,当flag=0时,置前因子为\frac{1}{n-1};否则置前因子为\frac{1}{n}。缺省flag=0和dim=1。

【例5.18】标准方差计算
在命令窗口输入以下内容,生成向量B和矩阵A如下:
>> B=[5 3 4 8 5 6 8 7 6 9 2 6]
>> A=rand(4)
①求矩阵A的各列元素的标准方差,flag=0。在命令窗口中输入以下内容:
>> Y=std(A,0,1) %矩阵A的各列元素的标准方差
计算得到的矩阵A的各列元素的标准方差如下:
Y =
0.2327 0.2437 0.2315 0.1809
②求矩阵A的各行元素的标准方差,flag=0。在命令窗口中输入以下内容:
>> Y=std(A,0,2) %矩阵A的各行元素的标准方差
计算得到的矩阵A的各行元素的标准方差如下:
Y =
0.0911
0.3302
0.3848
0.0464
③求矩阵A的各列元素的标准方差,flag=1。在命令窗口中输入以下内容:
>> Y=std(A,1,1)
计算得到的矩阵A的各列元素的标准方差如下:
Y =
0.2015 0.2110 0.2004 0.1566
④求矩阵A的各行元素的标准方差,flag=1。在命令窗口中输入以下内容:
>> Y=std(A,1,2)
计算得到的矩阵A的各行元素的标准方差如下:
Y =
0.0789
0.2860
0.3333
0.0402
⑤对数组进行标准方差计算与对矩阵可以计算标准方差类似。下面分别计算数组B在各种情况下的方差的值。具体操作及返回结果如下所示:
>> Y=std(B,0,1)
>> Y=std(B,0,2)
Y =
2.0944
>> Y=std(B,1,1)
>> Y=std(B,1,2)
Y =
2.0052

5.4.7 相关系数

MATLAB提供了corrcoef函数,可以求出数据的相关系数矩阵。调用格式为:

①corrcoef(X)

②corrcoef(X,Y)

corrcoef函数返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。其中X,Y是向量,与corrcoef([X,Y])的作用一样。

【例5.19】求解相关系数
在命令窗口中输入以下内容,生成随机矩阵A、向量B和向量C如下:
>> A=rand(4)
>> B=[5 3 4 8 5 6 8 7 6 9 2 6]
>> C=[1 2 3 4 5 5 3 4 8 5 6 8]
①矩阵A形成的一个相关系数矩阵。在命令窗口中输入以下内容:
>> corrcoef(A) % 求解矩阵A形成的一个相关系数矩阵
返回相关系数矩阵如下:
ans =
1.0000 -0.2608 0.5478 -0.7232
-0.2608 1.0000 -0.9397 0.2996
0.5478 -0.9397 1.0000 -0.3984
-0.7232 0.2996 -0.3984 1.0000
②可以求向量B形成的一个相关系数矩阵。在命令窗口中输入以下内容:
>> corrcoef(B) %求取向量B形成的一个相关系数矩阵
返回相关系数矩阵如下:
ans =
1

5.4.8 排序

MATLAB提供了sort函数来实现排序功能,调用格式如下:

sort(X)

[Y,I]=sort(A,dim)

函数返回一个对X中的元素按升序排列的新向量,Y是排序后的矩阵,而I记录Y中的元素在A中位置。其中,dim指明对矩阵A的列还是行进行排序。若dim=1,则按列排;若dim=2,则按行排。

【例5.20】排序
在命令窗口输入以上内容,生成向量A和矩阵B如下:
>> A=[1 2 5 3 4 8 5 6 8 7 6 9 2 6 ]
>> B=rand(4)
①对向量A按升序排列,返回一新向量。在命令窗口中输入以下内容:
>> sort(A) %向量A按升序排列
返回的向量如下:
ans =
1 2 2 3 4 5 5 6 6 6 7 8 8 9
②对矩阵B按列排序,返回排列后的矩阵Y,I记录Y中的元素在B中位置。在命令窗口中输入以下内容:
>> [Y,I]=sort(B,1) %矩阵B按列排序
对矩阵B按列排列后返回的矩阵Y和记录Y中的元素在B中位置的矩阵I如下:
Y =
0.5226 0.1730 0.0118 0.1991
0.7948 0.2523 0.1365 0.2987
0.8801 0.2714 0.7373 0.6614
0.9568 0.9797 0.8757 0.8939
I =
3 1 4 2
1 4 3 3
4 3 2 4
2 2 1 1
③对矩阵B按行排序,返回排列后的矩阵Y,I记录Y中的元素在B中位置。在命令窗口中输入以下内容:
>> [Y,I]=sort(B,2) %对矩阵B按行排序
④与对矩阵B的操作类似,对向量A也可以按列与按行排序,返回排列后的向量Y,I记录Y中的元素在A中位置排序。
对向量A按列排序,返回排列后的向量Y,I记录Y中的元素在A中位置。在命令窗口中输入以下内容:
>> [Y,I]=sort(A,1) %对向量A按列排序
对向量A按行排序,返回排列后的向量Y,I记录Y中的元素在A中位置。在命令窗口中输入以下内容:
>> [Y,I]=sort(A,2) %对向量A按行排序

5.5 本章小结

本章重点介绍了MATLAB提供的基本的数学运算功能,主要包括多项式的相关运算、数据的插值与拟合运算、数据统计处理运算以及傅立叶变换等内容。

多项式部分通过实例重点介绍了多项式运算相关的内容,主要包括多项式的表示方法、多项式的四则运算、多项式的求导运算、多项式的求值与求根运算、多项式的展开以及多项式的积分运算等内容。掌握多项式运算内容是深入学习MATLAB其他内容的基础。

数据插值部分和拟合部分通过实例介绍了MATLAB提供的数据处理时经常使用的数据插值和拟合运算函数,其中插值部分包括一维和二维数据的插值运算。曲线拟合运算时要正确的选择所要拟合的多项式的阶,并不是拟合多项式的阶越高精度越好,一般拟合多项式的阶不超过5阶。

数据统计处理部分通过实例详细介绍一些常用的数据统计处理方法,主要包括数据的最大值与最小值运算、求和与求积运算、平均值与中值运算、累加和与累乘积运算、标准方差、相关系数以及排序等运算。

作者:德特数据
联系方式:156204968@qq.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 我时常迷路, 于自然行进中淡化归途或模糊前路。,人生每每都有选择,而心中也每每都有答案,总是习惯着另一种安全来把事...
    青春被忘路阅读 106评论 0 2
  • 弦断只因有谁听
    无言好名字阅读 225评论 0 0
  • 感恩C先生去澳门随时报告行踪,发视频,没别的意思,就是让我时刻知道他在忙什么,做什么,让放心,感恩他的这种变化,恋...
    德胜阅读 163评论 0 0
  • day44 7月13日 周五 雨 一.什么是健康用户偏见 假设健康协会发布一个理论:从小学开始每天穿紫色睡衣睡觉,...
    泡面pm阅读 688评论 0 0