日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab的部分文件操作

發布時間:2025/6/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab的部分文件操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Author:Maddock

Date:2015-01-20

讀取TXT文件內容到矩陣

img.txt數據讀入到R矩陣

R = importdata('img.txt');

矩陣保存到讀取TXT文件

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

?

判斷文件是否存在

infilename = [str,'\lena.jpg']; sgc_exist = exist(infilename, 'file'); % 由變量 sgc_exist 返回文件是否存在,因為是判斷文件是否存在,所以第二個參數寫'file' if sgc_exist ~= 0disp('lena.jpg is exist'); end

遍歷文件中某個后綴的所有文件

?

dir函數:獲得指定文件夾下的所有子文件夾或文件,并存到文件結構數組中.

?

調用方式:

?

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

?

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

?

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

?

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

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

打開文件操作

?

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

?

1、? Matlab文件操作主要有三個步驟:首先打開文件,然后對文件進行讀寫操作,最后要關閉文件。

?

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

?

'r'

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

'w'

寫文件,若文件已存在則原內容將被覆蓋;若文件不存在則新建一個

'a'

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

'r+'

可讀可寫,文件必須存在

'w+'

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

'a+'

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

?

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

?

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

?

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

?

fclose(fid);

?

4、? 有兩個標準代碼文件,不需打開就可以直接使用,分別為:fid=1 標準輸出文件,fid=2 標準錯誤文件。

?

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

?

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

?

5、? 若不指定打開方式,則表示只讀。

?

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

?

6、在Windows下,打開文件的默認是二進制格式,如果要以文本方式打開,則必須在打方式中加上字符 't'。

?

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

?

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

?

status=fclose(fid);

?

8、? 文本文件的讀取

?

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

?

A 用來存放讀取的數據

?

count 返回讀取數據的個數,為可選項

?

fid 為文件句柄

?

size 為可選項,缺省為讀取整個文件,

?

若給出,則取值可以是:

?

N

讀取?N?個數據到一個列向量

Inf

讀取整個文件

[m,n]

讀取?m?′?n?個數據到一個? m?′?n?矩陣中,按列存放

?

?

?

?

?

?

?

?

?

?

?

format 用來控制讀取的數據格式,由 % 加上格式符組成,下表中是常見的格式符,在 % 之后可以加上數據寬度,如 %12d

?

c

字符型

g

浮點數(自動)

d

十進制整數

o

八進制

e

浮點數(科學計數法)

s

字符串

f

浮點數(小數形式)

x

十六進制

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

9、文本文件的寫入

?

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

?

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

?

?

?

l? fprintf 命令的格式說明符

?

c

字符型

g

浮點數(自動)

d

十進制整數

o

八進制

e

浮點數(科學計數法)

s

字符串

f

浮點數(小數形式)

x/X

十六進制

?

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

?

\b

退后一格

\t

水平制表符

\f

換頁

\\

反斜杠

\n

換行

''

單引號

\r

回車

%%

百分號

?

10、讀寫的定位

?

  • 打開文件讀寫數據時,需要判斷和控制文件的讀寫位置,如數據是否讀完,或者需要讀寫指定位置上的數據等。
  • 在讀寫文件時,Matlab 自動創建一個文件位置指針來管理和維護文件讀寫數據的起始位置。
  • Matlab 提供了幾個文件位置指針定位操作函數:fseek、ftell 、 frewind 和 feof

?

Fseek:

?

status=fseek(fid,offset,origin)

?

fid 為文件句柄

?

offset 表示位置指針相對偏移的字節數,若為正表示向文件尾方偏移,若為負表示向文件頭方向偏移

?

origin 表示位置指針移動的參照位置,有三種取值:

?

'cof' 表示當前位置,

?

?'bof' 表示文件的開始位置,

?

?'eof' 表示文件末尾;

?

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

?

??? ftell、frewind 和 feof:

?

返回值為從文件開始到指針當前位置的字節數:position=ftell(fid)

?

將位置指針返回到文件的起始位置:frewind(fid)

?

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

?

總結

以上是生活随笔為你收集整理的Matlab的部分文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。