資源描述:
《matlab數(shù)據(jù)導(dǎo)入和導(dǎo)出》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、1.Xlsread讀入數(shù)據(jù)[a3,h_lukou]=xlsread('ex1.xls','sheet3');%指定工作表中數(shù)據(jù),表頭和字符數(shù)據(jù)存入h_lukou[a,h_lukou]=xlsread('2011B-data.xls','lukou');%指定工作表中數(shù)據(jù),表頭和字符數(shù)據(jù)存入h_lukou[a,h_lukou]=xlsread('2011B-data.xls','A2:C3');%讀取指定區(qū)域的數(shù)據(jù)[g=xlsread('2011B-data.xls','A2:C300')%讀取指定區(qū)域的數(shù)據(jù)2.文本數(shù)據(jù)1)a=textread('b-lukou.txt');%這
2、種讀取的信息自動(dòng)分隔,可帶格式讀整個(gè)文件,例見B2011_fig.m2)textscanfr=fopen('b-lukou.txt','r');txt數(shù)據(jù)空格分隔g1=textscan(fr,'%d%d%d%f');%讀一行中指定格式的內(nèi)容,指針移到未讀處g1=textscan(fr,'%d%d%d%f',N);%同一格式重復(fù)讀N次,(包括P87例2.10好像不執(zhí)行)fr=fopen('ex2.txt','r');txt數(shù)據(jù)’,’分隔g1=textscan(fr,'%d%d%d%f','delimiter',',');textscan更適合讀入大文件;textsca
3、n可以從文件的任何位置開始讀入,而textread只能從文件開頭開始讀入;textscan也可以從上一次textscan結(jié)束的位置開始讀入,而textread不能;textscan只返回一個(gè)數(shù)組,而textread要返回多個(gè)數(shù)組;textscan提供更多轉(zhuǎn)換讀入數(shù)據(jù)的選擇;textscan提供給用戶更多的配置參數(shù)??傊褪钦f(shuō)textscan比textread要牛2)逐行讀TXT格式數(shù)據(jù)fr=fopen('ex2.txt');%打開要讀的文件并送入“fr”,這是缺省“rt”形式。fout=fopen('out1.txt','wt');%建立要寫文件,tab分隔,若文件存在則清除原
4、內(nèi)容。%‘a(chǎn)t’,寫入方式打開,建立或續(xù)寫內(nèi)容%‘r+t’同時(shí)支持讀、寫方式while~feof(fr)a1=fgetl(fr);%讀取整行,按字符處理,會(huì)自動(dòng)移動(dòng)指針,但只對(duì)文本文件有效%下面判斷首字符是否為數(shù)值ifdouble(a1(1))>=48&&double(a1(1))<=57fprintf(fout,'%s',a1);%寫入文件fprintf(1,'%s',a1);%顯示器顯示%continue%移動(dòng)指針的,現(xiàn)在不需要endendfclose(fout);%關(guān)閉文件fclose(fr);注:調(diào)用函數(shù)控制讀寫位置a)fseek(fr,offset,origi
5、n)其中,fr—為fopen()返回的文件標(biāo)示符,操作成功返回0,否則為-1.offset—整型變量,移到指正的方向和字節(jié)數(shù):offset>0,當(dāng)前位置向“尾”移動(dòng)offset字節(jié);offset=0,當(dāng)前位置不移動(dòng);offset<0,當(dāng)前位置向“頭”移動(dòng)offset字節(jié);origin—指定指針的參考位置,取值為:‘bf’or-1,文件開頭‘cof’or0,文件當(dāng)前位置‘eof’or1,文件尾b)ftell(fr)獲取指針離文件開頭的字節(jié)數(shù),若值為-1表示未成功調(diào)用。c)frewind(fr)移動(dòng)指針到文件開頭。d)feof(fr)判斷文件是否到文件尾fgets、fgetl讀取文
6、件的下一行,指針自動(dòng)下移。二者的區(qū)別:前者包括換行符,后者不包括。如:fgets(fr,10)%讀取fr一行的最多10個(gè)字符。3)a2=dlmread('data.txt')%讀整個(gè)數(shù)據(jù)數(shù)據(jù)‘,’分隔的可指定讀取數(shù)據(jù)的起始行、列(注意0行0列開始編號(hào)),如:a2=dlmread('ex2.txt',',',5,3)4)A=load('data.txt')%讀整個(gè)數(shù)據(jù)5)importdata('filename','delimiter','headerline’)如空格分隔,無(wú)表頭:importdata('data.txt')也可importdata('data.xls'),但不
7、能指定工作表多。3.Xlswrite導(dǎo)出數(shù)據(jù)xlswrite('tempdata.xls',d,'Temperatures','E1')%將數(shù)組d的數(shù)據(jù)寫至tempdata.xls文件,新建工作表'Temperatures',從該工作表的E1單元格開始寫入。如:程序見B2011_try.mxlswrite('data1.xls',b,'xian_chang','A1');%將矩陣b寫入data1.xls的xian_chang工作表,從A1開始寫xlswrite('data1.xls',d,'