matlab基礎(chǔ)13_第1頁
matlab基礎(chǔ)13_第2頁
matlab基礎(chǔ)13_第3頁
matlab基礎(chǔ)13_第4頁
matlab基礎(chǔ)13_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第1頁第第13 章章 文件和數(shù)據(jù)的導(dǎo)入與導(dǎo)出文件和數(shù)據(jù)的導(dǎo)入與導(dǎo)出 MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)內(nèi)容MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第2頁教學(xué)目標(biāo)l了解了解 MATLAB 的基本數(shù)據(jù)操作的基本數(shù)據(jù)操作l掌握掌握 MATLAB 中文本文件的讀寫方式中文本文件的讀寫方式l掌握掌握 MATLAB 通過界面導(dǎo)入導(dǎo)出數(shù)據(jù)通過界面導(dǎo)入導(dǎo)出數(shù)據(jù)l了解了解 MATLAB 中的基本輸入輸出函數(shù)中的基本輸入輸出

2、函數(shù)MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第3頁教學(xué)重點(diǎn)lMATLAB 中文本文件的讀寫方式中文本文件的讀寫方式 csvread、csvwrite dlmread、dlmwrite textread,textscan l低級(jí)文件低級(jí)文件I/O MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第4頁教學(xué)內(nèi)容l數(shù)據(jù)基本操作數(shù)據(jù)基本操作l文本文件的讀寫文本文件的讀寫 l低級(jí)文件低級(jí)文件I/O l利用界面工具導(dǎo)入數(shù)據(jù)利用界面工具導(dǎo)入數(shù)據(jù) MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社202

3、2-3-29第5頁數(shù)據(jù)基本操作數(shù)據(jù)基本操作 l文件的存儲(chǔ)文件的存儲(chǔ) l數(shù)據(jù)導(dǎo)入數(shù)據(jù)導(dǎo)入 l文件的打開文件的打開 MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第6頁文件的存儲(chǔ)文件的存儲(chǔ) l保存整個(gè)工作區(qū)保存整個(gè)工作區(qū)點(diǎn)擊點(diǎn)擊“File”菜單中的菜單中的“Save Workspace As”選項(xiàng),或者點(diǎn)擊工作區(qū)瀏覽器工具欄中的選項(xiàng),或者點(diǎn)擊工作區(qū)瀏覽器工具欄中的“Save”,可以將工作區(qū)中的變量保存為,可以將工作區(qū)中的變量保存為 MAT 文文件。件。l保存工作區(qū)中的變量保存工作區(qū)中的變量在工作區(qū)瀏覽器中,右鍵單擊需要保存的變量名,在工作區(qū)瀏覽器中,右鍵單

4、擊需要保存的變量名,選擇選擇“Save As”,將該變量保存為,將該變量保存為 MAT 文件。文件。l利用利用 save 命令保存命令保存該命令可以保存工作區(qū),或工作區(qū)中任何指定文該命令可以保存工作區(qū),或工作區(qū)中任何指定文件。件。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第7頁save命令命令lsave命令的調(diào)用格式為:命令的調(diào)用格式為: save,將工作區(qū)中的所有變量保存在當(dāng)前工作區(qū)中的文件中,文件名為,將工作區(qū)中的所有變量保存在當(dāng)前工作區(qū)中的文件中,文件名為 matlab.mat,MAT 文件可以通過文件可以通過 load 函數(shù)再次導(dǎo)入工作區(qū),

5、函數(shù)再次導(dǎo)入工作區(qū),MAT 函數(shù)函數(shù)可以被不同的機(jī)器導(dǎo)入,甚至可以通過其他的程序調(diào)用;可以被不同的機(jī)器導(dǎo)入,甚至可以通過其他的程序調(diào)用; save(filename),將工作區(qū)中的所有變量保存為文件,文件名由,將工作區(qū)中的所有變量保存為文件,文件名由 filename 指定。如果指定。如果 filename 中包含路徑,則將文件保存在相應(yīng)目錄中包含路徑,則將文件保存在相應(yīng)目錄下,否則默認(rèn)路徑為當(dāng)前路徑;下,否則默認(rèn)路徑為當(dāng)前路徑; save(filename, var1, var2, .),保存指定的變量在,保存指定的變量在 filename 指定的指定的文件中;文件中; save(filen

6、ame, -struct, s),保存結(jié)構(gòu)體,保存結(jié)構(gòu)體 s 中全部域作為單獨(dú)的變量;中全部域作為單獨(dú)的變量; save(filename, -struct, s, f1, f2, .),保存結(jié)構(gòu)體,保存結(jié)構(gòu)體 s 中的指定變量;中的指定變量; save(-regexp, expr1, expr2, .),通過正則表達(dá)式指定待保存的變量需,通過正則表達(dá)式指定待保存的變量需滿足的條件;滿足的條件; save(., format),指定保存文件的格式,格式可以為,指定保存文件的格式,格式可以為 MAT 文件、文件、ASCII 文件等。文件等。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社

7、清華大學(xué)出版社2022-3-29第8頁數(shù)據(jù)導(dǎo)入數(shù)據(jù)導(dǎo)入 MATLAB 中導(dǎo)入數(shù)據(jù)通常由函數(shù)中導(dǎo)入數(shù)據(jù)通常由函數(shù) load 實(shí)現(xiàn),該函數(shù)的用法為:實(shí)現(xiàn),該函數(shù)的用法為: load,如果,如果 matlab.mat 文件存在,導(dǎo)入文件存在,導(dǎo)入 matlab.mat 中的所有變量,如中的所有變量,如果不存在,則返回果不存在,則返回 error; load filename,將,將 filename 中的全部變量導(dǎo)入到工作區(qū)中;中的全部變量導(dǎo)入到工作區(qū)中; load filename X Y Z .,將,將 filename 中的變量中的變量 X、Y、Z 等導(dǎo)入到工作等導(dǎo)入到工作區(qū)中,如果文件為區(qū)中

8、,如果文件為 MAT 文件,在指定變量時(shí)可以使用通配符文件,在指定變量時(shí)可以使用通配符“*”; load filename -regexp expr1 expr2 .,通過正則表達(dá)式指定需要導(dǎo)入,通過正則表達(dá)式指定需要導(dǎo)入的變量;的變量; load -ascii filename,無論輸入文件名是否包含有擴(kuò)展名,將其以,無論輸入文件名是否包含有擴(kuò)展名,將其以 ascii 格式導(dǎo)入,如果指定的文件不是數(shù)字文本,則返回格式導(dǎo)入,如果指定的文件不是數(shù)字文本,則返回 error; load -mat filename,無論輸入文件名是否包含有擴(kuò)展名,將其以,無論輸入文件名是否包含有擴(kuò)展名,將其以 ma

9、t 格式導(dǎo)入,如果指定的文件不是格式導(dǎo)入,如果指定的文件不是 MAT 文件,則返回文件,則返回 error;MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第9頁Importdata 函數(shù)函數(shù)lMATLAB 中,另一個(gè)導(dǎo)入數(shù)據(jù)的常用函數(shù)為中,另一個(gè)導(dǎo)入數(shù)據(jù)的常用函數(shù)為 importdata,該函數(shù)的用法為:,該函數(shù)的用法為: importdata(filename),將,將 filename 中的數(shù)據(jù)導(dǎo)入中的數(shù)據(jù)導(dǎo)入到工作區(qū)中;到工作區(qū)中; A = importdata(filename),將,將 filename 中的數(shù)據(jù)導(dǎo)中的數(shù)據(jù)導(dǎo)入到工作區(qū)中,并保

10、存為變量入到工作區(qū)中,并保存為變量 A; importdata(filename,delimiter),將,將 filename 中中的數(shù)據(jù)導(dǎo)入到工作區(qū)中,以的數(shù)據(jù)導(dǎo)入到工作區(qū)中,以 delimiter 指定的符號(hào)作為指定的符號(hào)作為分隔符;分隔符;l與與 load 函數(shù)不同,函數(shù)不同,importdata 將文件中的數(shù)據(jù)將文件中的數(shù)據(jù)以結(jié)構(gòu)體的方式導(dǎo)入到工作區(qū)中。以結(jié)構(gòu)體的方式導(dǎo)入到工作區(qū)中。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第10頁文件的打開文件的打開 lMATLAB 中可以使用中可以使用 open 命令打開各種命令打開各種格式的文件,格

11、式的文件,MATLAB 自動(dòng)根據(jù)文件的擴(kuò)自動(dòng)根據(jù)文件的擴(kuò)展名選擇相應(yīng)的編輯器。展名選擇相應(yīng)的編輯器。l讀者需要注意的是,讀者需要注意的是,open(filename.mat) 和和 load(filename.mat) 的不同,前者將的不同,前者將filename.mat 以結(jié)構(gòu)體的方式打開在工作以結(jié)構(gòu)體的方式打開在工作區(qū)中,后者將文件中的變量導(dǎo)入到工作區(qū)區(qū)中,后者將文件中的變量導(dǎo)入到工作區(qū)中,如果需要訪問其中的內(nèi)容,需要以不中,如果需要訪問其中的內(nèi)容,需要以不同的格式進(jìn)行。同的格式進(jìn)行。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第11頁文本文件的

12、讀寫文本文件的讀寫 l在上一節(jié)中介紹的函數(shù)和命令主要用于讀寫在上一節(jié)中介紹的函數(shù)和命令主要用于讀寫 mat 文件,在應(yīng)用中,需要讀寫更多格式的文件,如文件,在應(yīng)用中,需要讀寫更多格式的文件,如文本文件,文本文件,word 文件,文件,xml 文件,文件,xls 文件及圖文件及圖像、音視頻文件等。本節(jié)介紹文本文件(像、音視頻文件等。本節(jié)介紹文本文件(txt)的)的讀寫。讀寫。lMATLAB 中實(shí)現(xiàn)文本文件讀寫的函數(shù)如表所示。中實(shí)現(xiàn)文本文件讀寫的函數(shù)如表所示。函數(shù)功能csvread讀入以逗號(hào)分隔的數(shù)據(jù)csvwrite將數(shù)據(jù)寫入文件,數(shù)據(jù)間以逗號(hào)分隔dlmread將以 ASCII 碼分隔的數(shù)值數(shù)據(jù)讀

13、入到矩陣中dlmwrite將矩陣數(shù)據(jù)寫入到文件中,以 ASCII 分隔textread從文本文件中讀入數(shù)據(jù),將結(jié)果分別保存textscan從文本文件中讀入數(shù)據(jù),將結(jié)果保存為單元數(shù)組MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第12頁csvread 函數(shù)函數(shù) l M = csvread(filename),將文件,將文件 filename 中的數(shù)據(jù)讀中的數(shù)據(jù)讀入,并且保存為入,并且保存為 M,filename 中只能包含數(shù)字,并且數(shù)中只能包含數(shù)字,并且數(shù)字之間以逗號(hào)分隔。字之間以逗號(hào)分隔。M 是一個(gè)數(shù)組,行數(shù)與是一個(gè)數(shù)組,行數(shù)與 filename 的的

14、行數(shù)相同,列數(shù)為行數(shù)相同,列數(shù)為 filename 列的最大值,對(duì)于元素不足列的最大值,對(duì)于元素不足的行,以的行,以 0 補(bǔ)充。補(bǔ)充。lM = csvread(filename, row, col),讀取文件,讀取文件 filename 中的數(shù)據(jù),起始行為中的數(shù)據(jù),起始行為 row,起始列為,起始列為 col,需要注意的是,需要注意的是,此時(shí)的行列從此時(shí)的行列從 0 開始。開始。lM = csvread(filename, row, col, range),讀取文件,讀取文件 filename 中的數(shù)據(jù),起始行為中的數(shù)據(jù),起始行為 row,起始列為,起始列為 col,讀取,讀取的數(shù)據(jù)由數(shù)組的數(shù)

15、據(jù)由數(shù)組 range 指定,指定,range 的格式為:的格式為:R1 C1 R2 C2,其中,其中 R1、C1 為讀取區(qū)域左上角的行和列,為讀取區(qū)域左上角的行和列,R2、C2為讀取區(qū)域右下角的行和列。為讀取區(qū)域右下角的行和列。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第13頁dlmread 函數(shù)函數(shù) lM = dlmread(filename)lM = dlmread(filename, delimiter)lM = dlmread(filename, delimiter, R, C)lM = dlmread(filename, delimite

16、r, range)l其中參數(shù)其中參數(shù) delimiter 用于指定文件中的分隔符,用于指定文件中的分隔符,其他參數(shù)的意義與其他參數(shù)的意義與 csvread 函數(shù)中參數(shù)的意義相函數(shù)中參數(shù)的意義相同,這里不再贅述。同,這里不再贅述。dlmread 函數(shù)與函數(shù)與 csvread 函函數(shù)的差別在于,數(shù)的差別在于,dlmread 函數(shù)在讀入數(shù)據(jù)時(shí)可以函數(shù)在讀入數(shù)據(jù)時(shí)可以指定分隔符,不指定時(shí)默認(rèn)分隔符為逗號(hào)。指定分隔符,不指定時(shí)默認(rèn)分隔符為逗號(hào)。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第14頁dlmwrite 函數(shù)函數(shù) ldlmwrite(filename,

17、 M),將矩陣,將矩陣 M 的數(shù)據(jù)寫入文件的數(shù)據(jù)寫入文件 filename 中,中,以逗號(hào)分隔;以逗號(hào)分隔;ldlmwrite(filename, M, D),將矩陣,將矩陣 M 的數(shù)據(jù)寫入文件的數(shù)據(jù)寫入文件 filename 中,采用指定的分隔符分隔數(shù)據(jù),如果需要中,采用指定的分隔符分隔數(shù)據(jù),如果需要 tab 鍵,可以用鍵,可以用“t”指指定;定;ldlmwrite(filename, M, D, R, C),指定寫入數(shù)據(jù)的起始位置;,指定寫入數(shù)據(jù)的起始位置;ldlmwrite(filename, M, attribute1, value1, attribute2, value2, .),指

18、定任意數(shù)目的參數(shù),可以指定的參數(shù)見下表;指定任意數(shù)目的參數(shù),可以指定的參數(shù)見下表;ldlmwrite(filename, M, -append),如果,如果 filename 指定的文件存在,指定的文件存在,在文件后面寫入數(shù)據(jù),不指定時(shí)則覆蓋原文件;在文件后面寫入數(shù)據(jù),不指定時(shí)則覆蓋原文件;ldlmwrite(filename, M, -append, attribute-value list),敘寫文件,敘寫文件,并指定參數(shù)。并指定參數(shù)。ldlmwrite 函數(shù)的可用參數(shù)如表所示。函數(shù)的可用參數(shù)如表所示。參數(shù)名功能delimiter用于指定分隔符newline用于指定換行符,可以選擇“pc”

19、或者“unix”roffset行偏差,指定文件第一行的位置,roffset 的基數(shù)為 0coffset列偏差,指定文件第一列的位置,coffset 的基數(shù)為 0precision指定精確度,可以指定精確維數(shù),或者采用 c 語言的格式,如“%10.5f”MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第15頁textread,textscan l當(dāng)文件的格式已知時(shí),可以利用當(dāng)文件的格式已知時(shí),可以利用 textread 函數(shù)和函數(shù)和 textscan 函數(shù)讀入。函數(shù)讀入。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-2

20、9第16頁低級(jí)文件低級(jí)文件I/O l本節(jié)介紹一些基本的文件操作,這些操作如表所本節(jié)介紹一些基本的文件操作,這些操作如表所示示:函數(shù)功能fclose關(guān)閉打開的文件feof判斷是否為文件結(jié)尾ferror文件輸入輸出中的錯(cuò)誤查找fgetl讀入一行,忽略換行符fgets讀入一行,直到換行符fopen打開文件,或者獲取打開文件的信息fprintf格式化輸入數(shù)據(jù)到文件fread從文件中讀取二進(jìn)制數(shù)據(jù)frewind將文件的位置指針移至文件開頭位置fscanf格式化讀入fseek設(shè)置文件位置指針ftell文件位置指針fwrite向文件中寫入數(shù)據(jù)MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出

21、版社2022-3-29第17頁fprintf 函數(shù)函數(shù) lcount = fprintf(fid, format, A, .),該語句將矩,該語句將矩陣陣 A 及后面其他參數(shù)中數(shù)字的實(shí)部以及后面其他參數(shù)中數(shù)字的實(shí)部以 format 指指定的格式寫入到定的格式寫入到 fid 指定的文件中,返回寫入數(shù)指定的文件中,返回寫入數(shù)據(jù)的字節(jié)數(shù)。據(jù)的字節(jié)數(shù)。l上面語句中,參數(shù)上面語句中,參數(shù) format 由由 % 開頭,共可由四開頭,共可由四個(gè)部分組成,分別為:個(gè)部分組成,分別為: 標(biāo)記(標(biāo)記(flag),為可選部分;),為可選部分; 寬度和精度指示,為可選部分;寬度和精度指示,為可選部分; 類型標(biāo)志符,

22、為可選部分;類型標(biāo)志符,為可選部分; 轉(zhuǎn)換字符,為必需部分。轉(zhuǎn)換字符,為必需部分。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第18頁標(biāo)記標(biāo)記l1標(biāo)記標(biāo)記l標(biāo)記用于控制輸出的對(duì)齊方式,可以選擇的內(nèi)容標(biāo)記用于控制輸出的對(duì)齊方式,可以選擇的內(nèi)容如表所示。如表所示。 函數(shù)功能示例負(fù)號(hào)(-)在參數(shù)左側(cè)進(jìn)行判別%-5.2d加號(hào)(+)在數(shù)字前添加符號(hào)%+5.2d空格在數(shù)字前插入空格% 5.2d0在數(shù)字前插入 0%05.2dMATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第19頁寬度和精度指示寬度和精度指示l2寬度和精度指示

23、寬度和精度指示l用戶可以通過數(shù)字指定輸出數(shù)字的寬度及用戶可以通過數(shù)字指定輸出數(shù)字的寬度及精度,格式為:精度,格式為: %6f,指定數(shù)字的寬度;,指定數(shù)字的寬度; %6.2f,指定數(shù)字的寬度及精度;,指定數(shù)字的寬度及精度; %.2f,指定數(shù)字的精度。,指定數(shù)字的精度。MATLAB R2007基礎(chǔ)教程基礎(chǔ)教程 清華大學(xué)出版社清華大學(xué)出版社2022-3-29第20頁轉(zhuǎn)換字符轉(zhuǎn)換字符l3轉(zhuǎn)換字符轉(zhuǎn)換字符l轉(zhuǎn)換字符用于指定輸出的符號(hào),可以選擇的內(nèi)容轉(zhuǎn)換字符用于指定輸出的符號(hào),可以選擇的內(nèi)容如表所示。如表所示。標(biāo)志符意義%c輸出單個(gè)字符%d輸出有符號(hào)十進(jìn)制數(shù)%e采用指數(shù)格式輸出,采用小寫字母 e,如:3.1415e+00%E采用指數(shù)格式輸出,采用大寫字母 E,如:3.1415E+00%f以定點(diǎn)數(shù)的格式輸出%g%e 及 %f 的更緊湊的格式,不顯示數(shù)字中無效的 0%G與 %g 相同,但是使用大寫字母 E%i有符號(hào)十進(jìn)制數(shù)%o無符號(hào)八進(jìn)制數(shù)%s輸出字符串%u無符號(hào)十進(jìn)制數(shù)%x十六進(jìn)制數(shù)(使用小寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論