本系列教程來源于出版書籍《基于MATLAB編程基礎(chǔ)與典型應(yīng)用書籍》,如涉及版權(quán)問題蔼两,請聯(lián)系:156204968@qq.com甩鳄。 出版社:人民郵電出版社, 頁數(shù):525额划。
本系列教程目前基于MATLABR2006a妙啃,可能對于更高級版本的功能和函數(shù)有差異,教程中如有問題锁孟,請聯(lián)系:156204968@qq.com
5.4.4 平均值和中值
MATLAB提供了求數(shù)據(jù)序列平均值的函數(shù)mean與數(shù)據(jù)序列中值的函數(shù)median彬祖,函數(shù)調(diào)用格式及功能見表5.5。
表5.5 求平均值與中值函數(shù)
函數(shù)名 | 功能 |
---|---|
mean(X) |
返回向量X的算術(shù)平均值 |
mean(A) |
返回一個行向量品抽,其第i個元素是矩陣A的第i列的算術(shù)平均值 |
mean(A,dim) |
當(dāng)dim為1時储笑,該函數(shù)等同于mean(A);當(dāng)dim為2時圆恤,返回一個列向量突倍,其第i個元素是A的第i行的算術(shù)平均值 |
median(X) |
返回向量X的中值 |
median(A) |
返回一個行向量,其第i個元素是矩陣A的第i列的中值 |
median(A,dim) |
當(dāng)dim為1時盆昙,該函數(shù)等同于median(A)羽历;當(dāng)dim為2時,返回一個列向量淡喜,其第i個元素是矩陣A的第i行的中值 |
【例5.16】求向量和矩陣的平均值與中值
在命令窗口輸入以下內(nèi)容秕磷,生成向量B和矩陣A如下:
>> B=[5 3 4 8 5 6 8 7 6 9 2 6]
>> A=rand(4) %生成4階的隨機矩陣
①求向量B的算術(shù)平均值與矩陣A的算術(shù)平均值,在命令窗口中輸入:
>> mean(B) %向量B的算術(shù)平均值
計算得到的向量B的算術(shù)平均值如下:
ans =
5.7500
在命令窗口中輸入:
>> mean(A) %矩陣A的算術(shù)平均值
計算得到的矩陣A的算術(shù)平均值如下:
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的算術(shù)平均值與中值澎嚣,具體操作及返回結(jié)果如下:
> mean(A,1) %矩陣A每列的算術(shù)平均值
ans =
0.7891 0.3084 0.2860 0.3083
>> median(A,1) %矩陣A每列的中值
ans =
0.9053 0.2054 0.2007 0.2355
④求矩陣A的各行的算術(shù)平均值與中值,在命令窗口中輸入:
>> mean(A,2) %計算得到矩陣A各行的算術(shù)平均值
>> median(A,2) %計算得到矩陣A各行的中值
5.4.5 累加和與累乘積
在MATLAB中瘟芝,使用cumsum和cumprod函數(shù)能方便地求得向量和矩陣元素的累加和與累乘積向量易桃,函數(shù)調(diào)用格式及功能見表5.6。
表5.6 累加和與累加積函數(shù)
函數(shù)名 | 功能 |
---|---|
cumsum(X) |
返回向量X累加和向量 |
cumsum(A) |
返回一個矩陣锌俱,其第i列是矩陣A的第i列的累加和向量 |
cumsum(A,dim) |
當(dāng)dim為1時晤郑,該函數(shù)等同于cumsum(A);當(dāng)dim為2時,返回一個矩陣造寝,其第i行是矩陣A的第i行的累加和向量 |
cumprod(X) |
返回向量X累乘積向量 |
cumprod(A) |
返回一個矩陣磕洪,其第i列是矩陣A的第i列的累乘積向量 |
cumprod(A,dim) |
當(dāng)dim為1時,該函數(shù)等同于cumprod(A)匹舞;當(dāng)dim為2時褐鸥,返回一個向量,其第i行是矩陣A的第i行的累乘積向量 |
【例5.17】求向量與矩陣的累加和與累乘積
在命令窗口輸入以下內(nèi)容赐稽,生成向量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
讀者可以嘗試使用以下命令姊舵,計算矩陣的累加和累乘積的結(jié)果晰绎,在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 標(biāo)準(zhǔn)方差
在MATLAB中迹淌,提供了計算數(shù)據(jù)序列的標(biāo)準(zhǔn)方差的函數(shù)std。該函數(shù)對于向量X返回一個標(biāo)準(zhǔn)方差己单;對于矩陣A返回一個行向量唉窃,它的各個元素便是矩陣A各列或各行的標(biāo)準(zhǔn)方差。調(diào)用格式為:
Y=std(A,flag,dim)
其中纹笼,dim可以取1或2纹份。當(dāng)dim=1時,求各列元素的標(biāo)準(zhǔn)方差廷痘;當(dāng)dim=2時矮嫉,則求各行元素的標(biāo)準(zhǔn)方差。flag可以取0或1牍疏,當(dāng)flag=0時,置前因子為拨齐;否則置前因子為
鳞陨。缺省flag=0和dim=1。
【例5.18】標(biāo)準(zhǔn)方差計算
在命令窗口輸入以下內(nèi)容,生成向量B和矩陣A如下:
>> B=[5 3 4 8 5 6 8 7 6 9 2 6]
>> A=rand(4)
①求矩陣A的各列元素的標(biāo)準(zhǔn)方差厦滤,flag=0援岩。在命令窗口中輸入以下內(nèi)容:
>> Y=std(A,0,1) %矩陣A的各列元素的標(biāo)準(zhǔn)方差
計算得到的矩陣A的各列元素的標(biāo)準(zhǔn)方差如下:
Y =
0.2327 0.2437 0.2315 0.1809
②求矩陣A的各行元素的標(biāo)準(zhǔn)方差,flag=0掏导。在命令窗口中輸入以下內(nèi)容:
>> Y=std(A,0,2) %矩陣A的各行元素的標(biāo)準(zhǔn)方差
計算得到的矩陣A的各行元素的標(biāo)準(zhǔn)方差如下:
Y =
0.0911
0.3302
0.3848
0.0464
③求矩陣A的各列元素的標(biāo)準(zhǔn)方差享怀,flag=1。在命令窗口中輸入以下內(nèi)容:
>> Y=std(A,1,1)
計算得到的矩陣A的各列元素的標(biāo)準(zhǔn)方差如下:
Y =
0.2015 0.2110 0.2004 0.1566
④求矩陣A的各行元素的標(biāo)準(zhǔn)方差趟咆,flag=1添瓷。在命令窗口中輸入以下內(nèi)容:
>> Y=std(A,1,2)
計算得到的矩陣A的各行元素的標(biāo)準(zhǔn)方差如下:
Y =
0.0789
0.2860
0.3333
0.0402
⑤對數(shù)組進行標(biāo)準(zhǔn)方差計算與對矩陣可以計算標(biāo)準(zhǔn)方差類似。下面分別計算數(shù)組B在各種情況下的方差的值值纱。具體操作及返回結(jié)果如下所示:
>> 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 相關(guān)系數(shù)
MATLAB提供了corrcoef函數(shù)鳞贷,可以求出數(shù)據(jù)的相關(guān)系數(shù)矩陣。調(diào)用格式為:
①corrcoef(X)
②corrcoef(X,Y)
corrcoef函數(shù)返回從矩陣X形成的一個相關(guān)系數(shù)矩陣虐唠。此相關(guān)系數(shù)矩陣的大小與矩陣X一樣搀愧。它把矩陣X的每列作為一個變量,然后求它們的相關(guān)系數(shù)疆偿。其中X咱筛,Y是向量,與corrcoef([X,Y])的作用一樣杆故。
【例5.19】求解相關(guān)系數(shù)
在命令窗口中輸入以下內(nèi)容迅箩,生成隨機矩陣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形成的一個相關(guān)系數(shù)矩陣反番。在命令窗口中輸入以下內(nèi)容:
>> corrcoef(A) % 求解矩陣A形成的一個相關(guān)系數(shù)矩陣
返回相關(guān)系數(shù)矩陣如下:
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形成的一個相關(guān)系數(shù)矩陣沙热。在命令窗口中輸入以下內(nèi)容:
>> corrcoef(B) %求取向量B形成的一個相關(guān)系數(shù)矩陣
返回相關(guān)系數(shù)矩陣如下:
ans =
1
5.4.8 排序
MATLAB提供了sort函數(shù)來實現(xiàn)排序功能,調(diào)用格式如下:
sort(X)
[Y,I]=sort(A,dim)
函數(shù)返回一個對X中的元素按升序排列的新向量罢缸,Y是排序后的矩陣篙贸,而I記錄Y中的元素在A中位置。其中枫疆,dim指明對矩陣A的列還是行進行排序爵川。若dim=1,則按列排息楔;若dim=2寝贡,則按行排。
【例5.20】排序
在命令窗口輸入以上內(nèi)容值依,生成向量A和矩陣B如下:
>> A=[1 2 5 3 4 8 5 6 8 7 6 9 2 6 ]
>> B=rand(4)
①對向量A按升序排列圃泡,返回一新向量。在命令窗口中輸入以下內(nèi)容:
>> sort(A) %向量A按升序排列
返回的向量如下:
ans =
1 2 2 3 4 5 5 6 6 6 7 8 8 9
②對矩陣B按列排序愿险,返回排列后的矩陣Y颇蜡,I記錄Y中的元素在B中位置。在命令窗口中輸入以下內(nèi)容:
>> [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中位置鳖目。在命令窗口中輸入以下內(nèi)容:
>> [Y,I]=sort(B,2) %對矩陣B按行排序
④與對矩陣B的操作類似,對向量A也可以按列與按行排序缤弦,返回排列后的向量Y领迈,I記錄Y中的元素在A中位置排序。
對向量A按列排序碍沐,返回排列后的向量Y狸捅,I記錄Y中的元素在A中位置。在命令窗口中輸入以下內(nèi)容:
>> [Y,I]=sort(A,1) %對向量A按列排序
對向量A按行排序抢韭,返回排列后的向量Y薪贫,I記錄Y中的元素在A中位置。在命令窗口中輸入以下內(nèi)容:
>> [Y,I]=sort(A,2) %對向量A按行排序
5.5 本章小結(jié)
本章重點介紹了MATLAB提供的基本的數(shù)學(xué)運算功能刻恭,主要包括多項式的相關(guān)運算瞧省、數(shù)據(jù)的插值與擬合運算、數(shù)據(jù)統(tǒng)計處理運算以及傅立葉變換等內(nèi)容鳍贾。
多項式部分通過實例重點介紹了多項式運算相關(guān)的內(nèi)容鞍匾,主要包括多項式的表示方法、多項式的四則運算骑科、多項式的求導(dǎo)運算橡淑、多項式的求值與求根運算、多項式的展開以及多項式的積分運算等內(nèi)容咆爽。掌握多項式運算內(nèi)容是深入學(xué)習(xí)MATLAB其他內(nèi)容的基礎(chǔ)梁棠。
數(shù)據(jù)插值部分和擬合部分通過實例介紹了MATLAB提供的數(shù)據(jù)處理時經(jīng)常使用的數(shù)據(jù)插值和擬合運算函數(shù),其中插值部分包括一維和二維數(shù)據(jù)的插值運算斗埂。曲線擬合運算時要正確的選擇所要擬合的多項式的階符糊,并不是擬合多項式的階越高精度越好,一般擬合多項式的階不超過5階呛凶。
數(shù)據(jù)統(tǒng)計處理部分通過實例詳細介紹一些常用的數(shù)據(jù)統(tǒng)計處理方法男娄,主要包括數(shù)據(jù)的最大值與最小值運算、求和與求積運算漾稀、平均值與中值運算模闲、累加和與累乘積運算、標(biāo)準(zhǔn)方差崭捍、相關(guān)系數(shù)以及排序等運算尸折。
作者:德特數(shù)據(jù)
聯(lián)系方式:156204968@qq.com