資源描述:
《matlab中的數(shù)據(jù)導(dǎo)入和導(dǎo)出》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Matlab文件和數(shù)據(jù)的導(dǎo)入與導(dǎo)出Matlab文件和數(shù)據(jù)的導(dǎo)入與導(dǎo)出?在編寫一個(gè)程序時(shí),經(jīng)常需要從外部讀入數(shù)據(jù),或者將程序運(yùn)行的結(jié)果保存為文件。MATLAB使用多種格式打開和保存數(shù)據(jù)。本章將要介紹MATLAB中文件的讀寫和數(shù)據(jù)的導(dǎo)入導(dǎo)出。13.1?數(shù)據(jù)基本操作 本節(jié)介紹基本的數(shù)據(jù)操作,包括工作區(qū)的保存、導(dǎo)入和文件打開。13.1.1?文件的存儲(chǔ) MATLAB支持工作區(qū)的保存。用戶可以將工作區(qū)或工作區(qū)中的變量以文件的形式保存,以備在需要時(shí)再次導(dǎo)入。保存工作區(qū)可以通過(guò)菜單進(jìn)行,也可以通過(guò)命令窗口進(jìn)行?! ?.保存整個(gè)工作區(qū) 選擇File菜單中的
2、SaveWorkspaceAs…命令,或者單擊工作區(qū)瀏覽器工具欄中的Save,可以將工作區(qū)中的變量保存為MAT文件。 2.保存工作區(qū)中的變量 在工作區(qū)瀏覽器中,右擊需要保存的變量名,選擇SaveAs…,將該變量保存為MAT文件?! ?.利用save命令保存 該命令可以保存工作區(qū),或工作區(qū)中任何指定文件。該命令的調(diào)用格式如下:●save:將工作區(qū)中的所有變量保存在當(dāng)前工作區(qū)中的文件中,文件名為matlab.mat,MAT文件可以通過(guò)load函數(shù)再次導(dǎo)入工作區(qū),MAT函數(shù)可以被不同的機(jī)器導(dǎo)入,甚至可以通過(guò)其他的程序調(diào)用?!駍ave('file
3、name'):將工作區(qū)中的所有變量保存為文件,文件名由filename指定。如果filename中包含路徑,則將文件保存在相應(yīng)目錄下,否則默認(rèn)路徑為當(dāng)前路徑。●save('filename','var1','var2',...):保存指定的變量在filename指定的文件中。●save('filename','-struct','s'):保存結(jié)構(gòu)體s中全部域作為單獨(dú)的變量。●save('filename','-struct','s','f1','f2',...):保存結(jié)構(gòu)體s中的指定變量?!駍ave('-regexp',expr1,expr2,
4、...):通過(guò)正則表達(dá)式指定待保存的變量需滿足的條件。●save('...,'format'),指定保存文件的格式,格式可以為MAT文件、ASCII文件等。13.1.2?數(shù)據(jù)導(dǎo)入 MATLAB中導(dǎo)入數(shù)據(jù)通常由函數(shù)load實(shí)現(xiàn),該函數(shù)的用法如下:●load:如果matlab.mat文件存在,導(dǎo)入matlab.mat中的所有變量,如果不存在,則返回error?!駆oadfilename:將filename中的全部變量導(dǎo)入到工作區(qū)中?!駆oadfilenameXYZ...:將filename中的變量X、Y、Z等導(dǎo)入到工作區(qū)中,如果是MAT文件,在指
5、定變量時(shí)可以使用通配符“*”。●loadfilename-regexpexpr1expr2...:通過(guò)正則表達(dá)式指定需要導(dǎo)入的變量?!駆oad-asciifilename:無(wú)論輸入文件名是否包含有擴(kuò)展名,將其以ASCII格式導(dǎo)入;如果指定的文件不是數(shù)字文本,則返回error。●load-matfilename:無(wú)論輸入文件名是否包含有擴(kuò)展名,將其以mat格式導(dǎo)入;如果指定的文件不是MAT文件,則返回error。例13-1?將文件matlab.map中的變量導(dǎo)入到工作區(qū)中?! ∈紫葢?yīng)用命令whos–file查看該文件中的內(nèi)容: >>whos-f
6、ilematlab.mat ?Name?????????????????Size?????????????Bytes?Class ?A???????????????????2x3?????????????48?doublearray ?I_q????????????????415x552x3???????????687240?uint8array ?ans???????????????1x3??????????????24?doublearray ?num_of_cluster??????1x1??????????????8?doub
7、learray Grandtotalis687250elementsusing687320bytes 將該文件中的變量導(dǎo)入到工作區(qū)中: >>loadmatlab.mat 該命令執(zhí)行后,可以在工作區(qū)瀏覽器中看見(jiàn)這些變量,如圖13-1所示。圖13-1?導(dǎo)入變量后的工作區(qū)視圖 接下來(lái)用戶可以訪問(wèn)這些變量?! ?>num_of_cluster num_of_cluster= ????3 MATLAB中,另一個(gè)導(dǎo)入數(shù)據(jù)的常用函數(shù)為importdata,該函數(shù)的用法如下:●importdata('filename'),將filename中的
8、數(shù)據(jù)導(dǎo)入到工作區(qū)中;●A=importdata('filename'),將filename中的數(shù)據(jù)導(dǎo)入到工作區(qū)中,并保存為變量A;●importdat