摘要:本文主要就MATLAB中數(shù)據(jù)文件的存放形式以及相關(guān)的調(diào)用方式進行了一番探討,獲得了一些有用的結(jié)果。
關(guān)鍵詞:MATLAB, mat,txt,xls.
MATLAB以數(shù)值計算與數(shù)據(jù)處理為其主要特色,而大型數(shù)據(jù)的處理,又以數(shù)據(jù)文件的存取為其基礎(chǔ)。
1. MATLAB最基本的數(shù)據(jù)存放方式
MATLAB這一名稱來源于矩陣實驗室,因而以矩陣的方式存放數(shù)據(jù)是MATLAB中存放數(shù)據(jù)的基本方式。
下面通過一個實例來加以具體說明。
例1設(shè)有三臺機器, 用來生產(chǎn)規(guī)格相同的鋁合金薄板。取樣, 測量薄板的厚度, 精確至千分之一厘米,得到結(jié)果如表1所示。
解 在MATLAB的命令窗口以矩陣形式輸入:
>> x=[0.236 0.257 0.258
0.238 0.253 0.264
0.248 0.255 0.259
0.245 0.254 0.267
0.243 0.261 0.262]; %將所給數(shù)據(jù)以矩陣的形式輸入,
再用單因素方差分析命令anova1即可獲得所需要的結(jié)果:
>> anova1(x)
ans =
1.3431e-005
MATLAB返回的p值為1.3431e-005,說明差異顯著。并且MATLAB還同時給出更為詳細的方差分析表(見圖1)以及非常直觀的箱形圖(見圖2)。
說明:這種方式方便實用,非常適合數(shù)據(jù)量不大的情形;其缺點是所存數(shù)據(jù)只能一次使用,并且當(dāng)數(shù)據(jù)量較大時,在命令窗口直接輸入就顯得不太方便。
2.以文本文件的方式存儲
當(dāng)數(shù)據(jù)量較大時可以用文本文件加以存儲,例1中的數(shù)據(jù)還可以存儲到文本文件L1Data.txt中(如圖3所示),并將該文本文件保存到MATLAB的工作目錄work中。
使用時只需用load命令將文本文件中的數(shù)據(jù)調(diào)入即可,具體操作方式如下:
>> load L1Data.txt
>> anova1(L1Data)
即得例1中的結(jié)果。
說明:這種方式的優(yōu)點是能夠存儲大型數(shù)據(jù),并且可以多人共享、多次調(diào)用;其缺點(見仁見智,筆者認為是一種缺點)就是調(diào)入是必須要帶文件的擴展名txt。
3.存儲為mat文件
MATLAB中還有一種重要的存儲數(shù)據(jù)文件的方式,那就是存為mat文件。
如例1中的數(shù)據(jù)文件還可以如下處理:
首先用文本編輯軟件(簡單如記事本)將數(shù)據(jù)文件以矩陣的形式編輯好,然后復(fù)制、粘貼到命令窗口中(之所以不在命令窗口中直接輸入,就是因為當(dāng)數(shù)據(jù)量比較大時,在命令窗口中直接輸入不很方便)。在文本中編輯的文件如圖4所示。
然后用save命令存為mat文件,具體操作如下:
>> save dysfcfxd data %將數(shù)據(jù)文件data保存到當(dāng)前工作目錄下的dysfcfxd.mat文件中
如果要對數(shù)據(jù)文件data中數(shù)據(jù)進行方差分析,得到例1中的結(jié)果,可如下操作:
>> load dysfcfxd
>> anova1(data)
4.存儲為m文件
前面幾種方式使用起來,顯得較為復(fù)雜。其實,MATLAB還提供了另外一種存儲方式,存儲為m文件。
如例1中的數(shù)據(jù)可以保存為如下的m文件(保存到工作目錄中):
function data=x
data=[0.236 0.257 0.258
0.238 0.253 0.264
0.248 0.255 0.259
0.245 0.254 0.267
0.243 0.261 0.262];
將上述m文件保存好后,在命令窗口,直接運行anova1(data),即得例1的結(jié)果。
5.存儲為Excel格式的xls文件
MATLAB提供了與Excel的接口,因而數(shù)據(jù)也可以存儲為Excel格式的xls文件。仍以例1中的數(shù)據(jù)為例,首先將數(shù)據(jù)錄入到Excel文件中,如圖5所示。然后將該文件保存到MATLAB的工作目錄中。
此時,要得到例1的結(jié)果,只需運行如下命令即可:
>> data=xlsread('dysfcfxd.xls')
>> anova1(data)
本文將MATLAB中常用的幾種數(shù)據(jù)存放的方式根據(jù)自己的使用偏好進行了一番整理,希望能對后來者有所助益。當(dāng)然,由于筆者使用MATLAB的時間也不是很長,這里所提供的具體實現(xiàn)方式未必是最優(yōu)的,權(quán)當(dāng)引玉之磚。
參考文獻:
[1] 盛驟,謝式千,潘承毅.概率論與數(shù)理統(tǒng)計[M]. 北京: 高等教育出版社, 2001.
[2] 陳桂明,戚紅雨,潘偉.MATLAB數(shù)理統(tǒng)計(6.x)[M]. 北京: 科學(xué)出版社, 2002.