用matlab將tt檔案中的字母替換為數字

時間 2021-07-01 01:47:41

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

2樓:

將txt檔案匯入到工作區間,然後在edit視窗裡修改就可以了。

怎樣用matlab將含有字母的txt檔案中的數字匯入matlab中

3樓:匿名使用者

用load,textread或者importdata文字(txt)格式的檔案,只能識別資料,對其中的文字無法讀取。

可以使用回fscanf或者sscanf的方式讀答取,

思路為:定義cell矩陣,先全部以字元的方式讀入,再將其中的數字轉換為資料格式。

**如下:

m=8;n=3;

data=cell(m,n);%定義cell矩陣,儲存檔案內容

fid=fopen('test.txt','r');%以唯讀方式開啟檔案

for i=1:m

for j=1:n

data=fscanf(fid,'%s',[1,1]);%以字元方式讀取每個值,遇空格完成每個值的讀取

endend

fclose (fid);

for i=1:m

for j=2:n

data=str2double(data);%將文字格式轉為數字格式

endend

str=cell(m,1);用於儲存data的第一列

for i=1:m

str=data;end

matlab 如何將txt檔案中的相同的字串用特定的數字代替

4樓:匿名使用者

% 將字元轉化為ascii碼

fid = fopen('abc.txt');

data=;

tline = fgetl(fid);

while ischar(tline)

data=[data;tline];

tline = fgetl(fid);

end% 刪除字元間的空格對應值

data(:,2)=;

% a對應的ascii碼為97,其餘字母依次遞增data=abs(data)-96;

disp(data)

% 輸出結版果:

1 2

1 3

1 4

2 5

2 3

3 4

4 5

% 望採權納,謝謝!

5樓:creasy在路上

額。。一定要在matlab裡替換麼。txt文件開啟以後不是有查詢替換功能麼,直接在那裡替換完了再匯入matlab就行了吧。

matlab中如何改變m檔案的路徑

在file set path中把你那個資料夾路徑新增進去,就可以呼叫了 李大雷 全部都放在matlab的預設資料夾裡,不就行了嗎?是windows7嗎?如果是在 庫 文件 matlab 裡。 預設是放在乙個叫work的資料夾下的,你把所有m檔案放在該檔案下,matlab就能識別,你想使用你編的程式,...

在MATLAB的GUI中,得到M檔案中的某個引數值

我愛飯 你的意思是按button3執行step3.m檔案,然後按button4再輸出變數precision嗎?如果變數precision的值是執行step3.m檔案之後得到的則可以採用全域性變數的方法寫 這個button是執行step3.m檔案的,想得到其中的變數precision。function...

用c語言編寫的讀取mat檔案(matlab矩陣)的程式,有錯,求幫助

從錯誤提示上,就是兩個變數未定義導致的連結錯誤你先搜尋整個工程,error提示中的兩個變數在 用到另外,也有可能是 include匯入的標頭檔案問題比如沒匯入必要的庫 或者是匯入的庫有問題 看你這段 沒有這兩個變數,可能是其他檔案或者使用的庫的問題匯入的庫也有依賴關係,使用前應該看看使用說明吧還有其...