資源描述:
《matlab數(shù)據(jù)導入和導出》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
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、種讀取的信息自動分隔,可帶格式讀整個文件,例見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);%同一格式重復讀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結束的位置開始讀入,而textread不能;textscan只返回一個數(shù)組,而textread要返回多個數(shù)組;textscan提供更多轉換讀入數(shù)據(jù)的選擇;textscan提供給用戶更多的配置參數(shù)??傊褪钦ftextscan比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’同時支持讀、寫方式while~feof(fr)a1=fgetl(fr);%讀取整行,按字符處理,會自動移動指針,但只對文本文件有效%下面判斷首字符是否為數(shù)值ifdouble(a1(1))>=48&&double(a1(1))<=57fprintf(fout,'%s',a1);%寫入文件fprintf(1,'%s',a1);%顯示器顯示%continue%移動指針的,現(xiàn)在不需要endendfclose(fout);%關閉文件fclose(fr);注:調(diào)用函數(shù)控制讀寫位置a)fseek(fr,offset,origi
5、n)其中,fr—為fopen()返回的文件標示符,操作成功返回0,否則為-1.offset—整型變量,移到指正的方向和字節(jié)數(shù):offset>0,當前位置向“尾”移動offset字節(jié);offset=0,當前位置不移動;offset<0,當前位置向“頭”移動offset字節(jié);origin—指定指針的參考位置,取值為:‘bf’or-1,文件開頭‘cof’or0,文件當前位置‘eof’or1,文件尾b)ftell(fr)獲取指針離文件開頭的字節(jié)數(shù),若值為-1表示未成功調(diào)用。c)frewind(fr)移動指針到文件開頭。d)feof(fr)判斷文件是否到文件尾fgets、fgetl讀取文
6、件的下一行,指針自動下移。二者的區(qū)別:前者包括換行符,后者不包括。如:fgets(fr,10)%讀取fr一行的最多10個字符。3)a2=dlmread('data.txt')%讀整個數(shù)據(jù)數(shù)據(jù)‘,’分隔的可指定讀取數(shù)據(jù)的起始行、列(注意0行0列開始編號),如:a2=dlmread('ex2.txt',',',5,3)4)A=load('data.txt')%讀整個數(shù)據(jù)5)importdata('filename','delimiter','headerline’)如空格分隔,無表頭:importdata('data.txt')也可importdata('data.xls'),但不
7、能指定工作表多。3.Xlswrite導出數(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,'