日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Matlab的部分文件操作

發(fā)布時(shí)間:2025/6/15 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab的部分文件操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Author:Maddock

Date:2015-01-20

讀取TXT文件內(nèi)容到矩陣

img.txt數(shù)據(jù)讀入到R矩陣

R = importdata('img.txt');

矩陣保存到讀取TXT文件

f_id=fopen('testimg\debug\test.txt','wt');%在當(dāng)前目錄以寫的方式打開(kāi)或創(chuàng)建txt文件 a=randi(9,10);%定義要輸出的矩陣 這里用了一個(gè)隨機(jī)整數(shù)矩陣代表要輸出的結(jié)果做示例 for i=1:10fprintf(f_id,'%d ',a(i,:));%輸出 可以整行輸出 并統(tǒng)一控制格式fprintf(f_id,'\n');%換行 end fclose(f_id);%關(guān)閉文件

?

判斷文件是否存在

infilename = [str,'\lena.jpg']; sgc_exist = exist(infilename, 'file'); % 由變量 sgc_exist 返回文件是否存在,因?yàn)槭桥袛辔募欠翊嬖?#xff0c;所以第二個(gè)參數(shù)寫'file' if sgc_exist ~= 0disp('lena.jpg is exist'); end

遍歷文件中某個(gè)后綴的所有文件

?

dir函數(shù):獲得指定文件夾下的所有子文件夾或文件,并存到文件結(jié)構(gòu)數(shù)組中.

?

調(diào)用方式:

?

dir('.')列出當(dāng)前目錄下所有子文件夾和文件

?

dir('G:\Matlab')列出指定目錄下所有子文件夾和文件

?

dir('*.m')列出當(dāng)前目錄下符合正則表達(dá)式的文件夾和文件

?

比如說(shuō)在d:\filetxt下有一系列txt文件,文件名符合matlab變量名的命名規(guī)則。

file=dir('d:\filetxt\*.txt');for n=1:length(file)str = ['d:\filetxt\',file(n).name]; disp(str);end

打開(kāi)文件操作

?

http://www.cnblogs.com/longdouhzt/archive/2013/01/29/2881749.html

?

1、? Matlab文件操作主要有三個(gè)步驟:首先打開(kāi)文件,然后對(duì)文件進(jìn)行讀寫操作,最后要關(guān)閉文件。

?

2、? fid=fopen(文件名,打開(kāi)方式)

?

'r'

只讀,文件必須存在(缺省的打開(kāi)方式)

'w'

寫文件,若文件已存在則原內(nèi)容將被覆蓋;若文件不存在則新建一個(gè)

'a'

在文件末尾添加,文件若不存在則新建一個(gè)

'r+'

可讀可寫,文件必須存在

'w+'

可讀可寫,若文件已存在則原內(nèi)容將被覆蓋;若文件不存在則新建一個(gè)

'a+'

可讀可寫可添加,文件若不存在則新建一個(gè)

?

3、? fid 為文件句柄,其它函數(shù)可以用它對(duì)該文件進(jìn)行操作。如果句柄值大于 0,則表示文件打開(kāi)成功;若打開(kāi)失敗,fid 的返回值為 -1。

?

fid=fopen('output.txt','wt+');

?

fprintf(fid,'Hello world!\n');

?

fclose(fid);

?

4、? 有兩個(gè)標(biāo)準(zhǔn)代碼文件,不需打開(kāi)就可以直接使用,分別為:fid=1 標(biāo)準(zhǔn)輸出文件,fid=2 標(biāo)準(zhǔn)錯(cuò)誤文件。

?

fprintf(1,'Hello world!\n');

?

fprintf(2,'Hello world!\n');

?

5、? 若不指定打開(kāi)方式,則表示只讀。

?

6、? 文件有兩種格式:二進(jìn)制文件(b)和文本文件(t)。

?

6、在Windows下,打開(kāi)文件的默認(rèn)是二進(jìn)制格式,如果要以文本方式打開(kāi),則必須在打方式中加上字符 't'。

?

fid=fopen('output.txt','wt+');

?

7、? 其中 fid 為所要關(guān)閉的文件的句柄,status 為關(guān)閉文件的返回代碼,若關(guān)閉成功則為 0,否則為 -1。

?

status=fclose(fid);

?

8、? 文本文件的讀取

?

[A,count]=fscanf(fid,format,size)

?

A 用來(lái)存放讀取的數(shù)據(jù)

?

count 返回讀取數(shù)據(jù)的個(gè)數(shù),為可選項(xiàng)

?

fid 為文件句柄

?

size 為可選項(xiàng),缺省為讀取整個(gè)文件,

?

若給出,則取值可以是:

?

N

讀取?N?個(gè)數(shù)據(jù)到一個(gè)列向量

Inf

讀取整個(gè)文件

[m,n]

讀取?m?′?n?個(gè)數(shù)據(jù)到一個(gè)? m?′?n?矩陣中,按列存放

?

?

?

?

?

?

?

?

?

?

?

format 用來(lái)控制讀取的數(shù)據(jù)格式,由 % 加上格式符組成,下表中是常見(jiàn)的格式符,在 % 之后可以加上數(shù)據(jù)寬度,如 %12d

?

c

字符型

g

浮點(diǎn)數(shù)(自動(dòng))

d

十進(jìn)制整數(shù)

o

八進(jìn)制

e

浮點(diǎn)數(shù)(科學(xué)計(jì)數(shù)法)

s

字符串

f

浮點(diǎn)數(shù)(小數(shù)形式)

x

十六進(jìn)制

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

9、文本文件的寫入

?

count=fprintf(fid,format,輸出變量列表)

?

  • 將輸出變量按指定的格式寫入文件中
  • 若省略 fid,則表示在屏幕上輸出
  • count 返回所寫入的數(shù)據(jù)元素個(gè)數(shù)(可省)
  • format 以 % 開(kāi)頭,通常由以下幾個(gè)部分組成:

?

?

?

l? fprintf 命令的格式說(shuō)明符

?

c

字符型

g

浮點(diǎn)數(shù)(自動(dòng))

d

十進(jìn)制整數(shù)

o

八進(jìn)制

e

浮點(diǎn)數(shù)(科學(xué)計(jì)數(shù)法)

s

字符串

f

浮點(diǎn)數(shù)(小數(shù)形式)

x/X

十六進(jìn)制

?

l? format 中還可以使用的特殊字符

?

\b

退后一格

\t

水平制表符

\f

換頁(yè)

\\

反斜杠

\n

換行

''

單引號(hào)

\r

回車

%%

百分號(hào)

?

10、讀寫的定位

?

  • 打開(kāi)文件讀寫數(shù)據(jù)時(shí),需要判斷和控制文件的讀寫位置,如數(shù)據(jù)是否讀完,或者需要讀寫指定位置上的數(shù)據(jù)等。
  • 在讀寫文件時(shí),Matlab 自動(dòng)創(chuàng)建一個(gè)文件位置指針來(lái)管理和維護(hù)文件讀寫數(shù)據(jù)的起始位置。
  • Matlab 提供了幾個(gè)文件位置指針定位操作函數(shù):fseek、ftell 、 frewind 和 feof

?

Fseek:

?

status=fseek(fid,offset,origin)

?

fid 為文件句柄

?

offset 表示位置指針相對(duì)偏移的字節(jié)數(shù),若為正表示向文件尾方偏移,若為負(fù)表示向文件頭方向偏移

?

origin 表示位置指針移動(dòng)的參照位置,有三種取值:

?

'cof' 表示當(dāng)前位置,

?

?'bof' 表示文件的開(kāi)始位置,

?

?'eof' 表示文件末尾;

?

若定位成功,status 返回值為 0,否則返回 -1

?

??? ftell、frewind 和 feof:

?

返回值為從文件開(kāi)始到指針當(dāng)前位置的字節(jié)數(shù):position=ftell(fid)

?

將位置指針?lè)祷氐轿募钠鹗嘉恢?#xff1a;frewind(fid)

?

判斷文件位置指針是否達(dá)到文件結(jié)束位置,若文件位置指針已在文件末尾,則返回 1,否則返回 0:eofstat=ftell(fid)

?

總結(jié)

以上是生活随笔為你收集整理的Matlab的部分文件操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。