Re: [問題] 讀檔+迴圈問題 已回收

看板MATLAB作者 (Steven)時間16年前 (2010/03/11 14:19), 編輯推噓3(306)
留言9則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《afa0525 (阿發)》之銘言: : 先感謝之前高人幫助,還是有些許的問題 : 我想請問 下列這段程式 : 我的用意是要判別 第二和三是1的時候分別讀出他們的位置去開啟 : 2.txt和3.txt這兩個檔案,程式寫成下列樣式 : 不過在執行的時候會出現問題 : cell_end=[0 1 1 0] : for k=1:1 : index=find(cell_end(k,:)==1) 我要找到每一列第幾行是1 : for j=1:length(index) 我想做的動作是第二行和第三行是1(不知道有無寫錯) : str=[num2str(index),'.txt']    第二行是1就開2.txt第三行是1開3.txt : fid2=fopen('str','r')      開檔案的部分 : while feof(fid2)==0          : for i=1:13          此檔案有13列 : line2=fgetl(fid2); : B(i,1)={line2};        轉成cell : end : end : end : end =====================不同檔案內容皆放在變數B中============================ cell_end=[0 1 1 0] RowCount = 1; for k=1:1 index=find(cell_end(k,:)==1) for j=1:length(index) str=[num2str(index(j)),'.txt']; fid2=fopen(str,'r'); while feof(fid2)==0 line2=fgetl(fid2); B(RowCount,1)={line2}; RowCount = RowCount + 1; end fclose(fid2); % 請記得close end end : 問題: : str = : 2 3.txt : fid2 = : -1 : ??? Error using ==> feof : Invalid fid. : Error in ==> C:\MATLAB6p5\work\Unt.m : On line 7 ==> while feof(fid2)==0 : str不是跑出2.txt和3.txt我要一起讀取這兩個檔案 : feof這地方他說使用錯誤 ? 不懂為什麼  : while feof(fid2)==0 這個不是在寫說 判別文件檔到最後的位置就停 : 請高人不吝賜教。。。謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.58.14

03/11 14:24, , 1F
驚!真的出來了 請問如果一百列要存在不同的變數 可以嗎
03/11 14:24, 1F

03/11 14:25, , 2F
^^"關檔案 我加上去了!! .... 謝謝您
03/11 14:25, 2F

03/11 14:28, , 3F
問錯 應該要問 如果第一列讀檔完 丟到B 先執行另個程式
03/11 14:28, 3F

03/11 14:28, , 4F
等執行完在進行下一列 在丟到B 之後再執行另個程式
03/11 14:28, 4F

03/11 14:28, , 5F
一直重複上述的動作!!
03/11 14:28, 5F

03/11 14:31, , 6F
看不懂
03/11 14:31, 6F

03/11 14:34, , 7F
我PO一篇新文 感謝您,不知道您是否是台北人
03/11 14:34, 7F

03/11 14:36, , 8F
不客氣,不是台北人,只是每天會到台北
03/11 14:36, 8F

03/11 14:42, , 9F
想請您喝杯飲料 .. 答謝您 !! 上述問題 我自己弄好幾天了
03/11 14:42, 9F
文章代碼(AID): #1Bc8jjcS (MATLAB)
文章代碼(AID): #1Bc8jjcS (MATLAB)