1. 如何把cell 矩陣寫入txt 文檔
文件操作是一種重要的輸入輸出方式,即從數據文件讀取數據或將結果寫入數據文件。MATLAB提供了一系列低層輸入輸出函數,專門用於文件操作。 1、文件的打開與關閉 1)打開文件 在讀寫文件之前,必須先用fopen函數打開或創建文件,並指定對該文件進行的操作方式。fopen函數的調用格式為:fid=fopen(文件名,『打開方式』)說明:其中fid用於存儲文件句柄值,如果返回的句柄值大於0,則說明文件打開成功。文件名用字元串形式,表示待打開的數據文件。常見的打開方式如下: 『r』:只讀方式打開文件(默認的方式),該文件必須已存在。 『r+』:讀寫方式打開文件,打開後先讀後寫。該文件必須已存在。 『w』:打開後寫入數據。該文件已存在則更新;不存在則創建。 『w+』:讀寫方式打開文件。先讀後寫。該文件已存在則更新;不存在則創建。 『a』:在打開的文件末端添加數據。文件不存在則創建。 『a+』:打開文件後,先讀入數據再添加數據。文件不存在則創建。 另外,在這些字元串後添加一個「t」,如『rt』或『wt+』,則將該文件以文本方式打開;如果添加的是「b」,則以二進制格式打開,這也是fopen函數默認的打開方式。 2)關閉文件文件在進行完讀、寫等操作後,應及時關閉,以免數據丟失。關閉文件用fclose函數,調用格式為:sta=fclose(fid)說明:該函數關閉fid所表示的文件。sta表示關閉文件操作的返回代碼,若關閉成功,返回0,否則返回-1。如果要關閉所有已打開的文件用fclose(『all』)。 2 、二進制文件的讀寫操作 1)寫二進制文件fwrite函數按照指定的數據精度將矩陣中的元素寫入到文件中。其調用格式為:COUNT=fwrite(fid,A,precision)說明:其中COUNT返回所寫的數據元素個數(可預設),fid為文件句柄,A用來存放寫入文件的數據,precision代表數據精度,常用的數據精度有:char、uchar、int、long、float、double等。預設數據精度為uchar,即無符號字元格式。 例6.8 將一個二進制矩陣存入磁碟文件中。>> a=[1 2 3 4 5 6 7 8 9];>> fid=fopen(『d:test.bin』,'wb』) %以二進制數據寫入方式打開文件fid =3 %其值大於0,表示打開成功>> fwrite(fid,a,』double』)ans =9 %表示寫入了9個數據>> fclose(fid)ans =0 %表示關閉成功 2)讀二進制文件fread函數可以讀取二進制文件的數據,並將數據存入矩陣。其調用格式為:[A,COUNT]=fread(fid,size,precision)說明:其中A是用於存放讀取數據的矩陣、COUNT是返回所讀取的數據元素個數、fid為文件句柄、size為可選項,若不選用則讀取整個文件內容;若選用則它的值可以是下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。precision用於控制所寫數據的精度,其形式與fwrite函數相同。 3、文本文件的讀寫操作 1)讀文本文件fscanf函數可以讀取文本文件的內容,並按指定格式存入矩陣。其調用格式為:[A,COUNT]=fscanf(fid,format,size)說明:其中A用來存放讀取的數據,COUNT返回所讀取的數據元素個數,fid為文件句柄,format用來控制讀取的數據格式,由%加上格式符組成,常見的格式符有:d(整型)、f(浮點型)、s(字元串型)、c(字元型)等,在%與格式符之間還可以插入附加格式說明符,如數據寬度說明等。size為可選項,決定矩陣A中數據的排列形式,它可以取下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。 2)寫文本文件fprintf函數可以將數據按指定格式寫入到文本文件中。其調用格式為:fprintf(fid,format,A)說明:fid為文件句柄,指定要寫入數據的文件,format是用來控制所寫數據格式的格式符,與fscanf函數相同,A是用來存放數據的矩陣。 例6.9 創建一個字元矩陣並存入磁碟,再讀出賦值給另一個矩陣。>> a=』string』;>> fid=fopen(『d:char1.txt』,'w』);>> fprintf(fid,』%s』,a);>> fclose(fid);>> fid1=fopen(『d:char1.txt』,'rt』);>> fid1=fopen(『d:char1.txt』,'rt』);>> b=fscanf(fid1,』%s』)b =string
matlab讀txt文件
fid=fopen(『fx.txt』,'r』); %得到文件號[f,count]=fscanf(fid,』%f %f』,[12,90]);%把文件號1的數據讀到f中。其中f是[12 90]的矩陣%這里』%f %f』表示讀取數據的形勢,他是按原始數據型讀出fclose(fid);%關閉文件另外有的txt文件還可以用load來打開其語句為f=load(『fx.txt)
一個寫入txt文件的小例子:
N=100;R=rand(1,N);fid = fopen(『tt.txt』,'wt』);for k=1:N;p=num2str(R(k));fprintf(fid,』%c』,p);fprintf(fid,』%cn』,』 『);endfclose(fid);
2. matlab如何將一個矩陣存入txt文件
不要求格式的話,可以用save直接保存,要求格式的話可以用fprintf
save(FILENAME,VARIABLES,'-ascii')
FILENAME,文件名
VARIABLES,變數名
'-ascii'是固定的參數,指定以文本方式輸出
fprintf(FID, FORMAT, A)
FID是通過fopen得到的文件id
FORMAT是格式字元串
A是輸出的變數
詳細可以參考matlab對應幫助文件