fidfopennum2strjttw這條語句裡

2021-12-19 09:55:24 字數 5542 閱讀 9215

1樓:匿名使用者

只需要在你的檔名處新增上你想要的檔案路徑就可以了。比如你想存放在'c:\users\public'資料夾下,只需

fid = fopen(['c:\users\public\',num2str(j),'.txt'],'w');

其中,中括號裡構成的字串即為你想要的路徑和檔名。

不妨假設j=3,那麼num2str(j)='3',注意此處'3'為字串。而中括號的作用就是把那幾個字串連線起了成為乙個新的字串,也即['c:\users\public\',num2str(j),'.

txt']='c:\users\public\3.txt'。

那麼那條命令此時與下面的命令等價:

fid = fopen('c:\users\public\3.txt','w');

這條命令就容易理解了。

2樓:菜出風格

試一試加上路徑,比如fid = fopen(『d:\num2str(j).txt』,'w');但是你這個語句檔名沒看出來是啥啊。。

難道是num2str(j)?但是如果你本意j是可以變得乙個數字的話,這樣的話,假如j=3,輸出的檔案名字應該還是num2str(j).txt,而不是num2str(3).

txt吧。去年學的matlab,有點忘了,僅供參考,如果錯了很不好意思

matlab中fid=fopen('c:\users\desktop\taskdata.txt','w');中的taskdata.txt','w'是什麼東西? 10

3樓:

和c裡的乙個意思就是「write」的意思,表示開啟這個檔案並且準備往裡面寫東西。

matlab中fid=fopen('magic.m','r') 其中fid 和 r 分別代表什麼含義

如何在matlab裡用迴圈讀取多個文字文件裡的資料?

4樓:tn瓶邪

辦法是把這些檔案的檔名按一定的規律命名,假如有一百個資料檔案,則可以把這些檔案分別命名為:filename1.txt,filename2.

txt,fielname100.txt,在讀取的時候則可以使用迴圈:

for i = 1:100

filename = ['filename' num2str(i) '.txt'];

x = load(filiname);end

5樓:匿名使用者

提示invalid file identifier. use fopen to generate a valid file identifier.指出是前面fid=fopen([int2str(j) '-' int2str(i)],'r'); 出錯了,你每次輸出下[int2str(j) '-' int2str(i)]代表的檔名,然後到當前目錄下看看有沒有對應的檔案。

6樓:匿名使用者

[a,b]=textscan(fid,'%d %d'); x1=[a,b];

不知道這個程式**錯了 ,但是這裡的x1=[a,b]; 有問題,失去了讀不同資料的意義,一直是後面的資料覆蓋前面的,

matlab讀取txt檔案中的資料存為矩陣

7樓:

1、開啟乙個txt檔案,會發現他既有字元又有數值。

2、此時將字元全部刪除,只留下有用的資料數值。

3、記住該資料夾的位址,一會要作為路徑用於matlab讀取。

4、此時使用乙個textread函式,函式內部代入剛才的txt檔案路徑。

5、textread函式會把這些資料讀成1為向量。我們將其分為兩列,用x和y代表,儲存為矩陣。

8樓:du瓶邪

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,'%c\n',' ');

endfclose(fid);

9樓:匿名使用者

fid=fopen('檔名','r');

s=fread(fid,inf,'uint8=>char')';%讀取檔案內容

fclose(fid);

str=regexp(s,'([-+]?\d+)(\.)?(\d*)([ee][-+]?\d+)?','match');%匹配數值的字串

data=cellfun(@str2num,str);%字串轉為數值存在data中

a=reshape(data,[3 4 length(data)/12]);%整形

a=permute(data,[2 1 3]);

最後a是個三維矩陣,

a(:,:,1)是第一組資料,

a(:,:,2)是第二組資料。。。。以此類推

在倒數第三句中data已經是所有資料組成的行向量

你可以根據自己的需要,讓它變形為你所需要的資料

10樓:匿名使用者

你把資料放入到txt文件中。例如a=[資料]

在matlab中輸入檔名,就會生成變數a,當中儲存你的資料

如果用matlab把一組資料存到乙個text檔案裡?

11樓:小伊媽媽

fid = fopen(txtname, 'a+');

c = [1.1;2.2;3.3;4.4;5.5];

l = length(c);

for i=1:l

fprint(fid, '%2f\n', c(i));

endfclose(fid);

小公尺2s金屬後蓋,小公尺2s後蓋

嗨!小公尺手機不要使用金屬後蓋,對訊號的影響很大,手機會經常沒有訊號的 小公尺2s後蓋 在充電口處那邊手指甲一扣就下來了.建議試試看 嗨!m2s 開後蓋需要你用食指按壓後蓋中下部,待後蓋底部翹起後,用拇指扣開就可以了 更詳細的描述問題有助於理解你遇到的麻煩,幫助你更準確的解決問題。謝謝你支援小公尺手...

小公尺mix2s和2的區別,小公尺mix2s比小公尺mix2厚麼

小公尺mix2s對比小公尺mix2效能各方面都提公升很多,小公尺mix2s搭載的是驍龍845處理器,比2跑分多8萬以上,後置ai雙攝攝像頭和蘋果x評分一樣 2s效能比2強30 左右,且有ai晶元,具體體現在2s的小愛比2的更聰明 2s拍照非常厲害,2的拍照很一般 2s支援無線充電,2不支援 2是全陶...

2S買不到,我總是買不到2s

嗨!目前小公尺官網的小公尺手機2s可以直接購買的,你可以前往小公尺官網檢視購買。我總是買不到2s 5 嗨!目前m2s型號已經停止發放f碼了,沒有可以用的f碼,而且f碼購買通道已經封閉了 更詳細的描述問題有助於理解你遇到的麻煩,幫助你更準確的解決問題。謝謝你支援小公尺手機!買不到16g的小公尺2s了?...