[問題] txt檔長度不同 有無辦法放到矩陣內 已回收

看板MATLAB作者 (阿發)時間16年前 (2010/03/17 14:56), 編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/1
0.1162 -0.70963E-01 0.1168 -0.74072E-01 0.1174 -0.77284E-01 0.1180 -0.80616E-01 0.1186 -0.84068E-01 0.1192 -0.87618E-01 0.1198 -0.91295E-01 0.1204 -0.95087E-01 0.1210 -0.98986E-01 0.1216 -0.10301 0.1222 -0.10714 0.1228 -0.11138 0.1234 -0.11575 資料長這個樣子!! 我想要把所有數字抓到矩陣裡面 下面是我的程式碼 format short g; fid = fopen('data.DAT'); time=[]; data1=[]; while 1 readin=fgetl(fid); if ( ((length(readin) == 18)|(length(readin) == 22)) & ~(any((readin>69) & (readin<85)))) ; time = [time;str2num(readin(1,1:7))]; 讀取0.1162這行的資料 data1 = [data1;str2num(readin(1,11:22))]; 讀取-0.70963E-01這行的資料 我覺得是這邊出問題 因為-0.70963E-01的長度是11~22 可是到後來資料變成-0.10301的時候它長度變成 11~18 所以這時候會出問題 ~ 出現的問題 我打在最下面 elseif ~ischar(readin), break, end end end data = [time data1] ; fclose(fid); end 問題錯誤: ??? Index exceeds matrix dimensions. Error in ==> D:\test\Untitled3.m On line 9 ==> data1 = [data1;str2num(readin(1,11:22))]; 麻煩高人指點一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.42.216 ※ 編輯: afa0525 來自: 140.124.42.216 (03/17 15:12) ※ 編輯: afa0525 來自: 140.124.42.216 (03/17 15:13)

03/17 16:09, , 1F
先讀進cell裡 再拿cell來轉形態? 這樣如何?
03/17 16:09, 1F

03/17 19:20, , 2F
SORRY 小弟初學 有點不是很懂轉的部分
03/17 19:20, 2F

03/17 19:21, , 3F
我之前有試過cell這指令 這個指令 是不是一次會抓全不資料
03/17 19:21, 3F

03/17 19:22, , 4F
有辦法用cell但是卻要指定說要抓哪個部分嗎 ??
03/17 19:22, 4F

03/17 23:06, , 5F
看不懂
03/17 23:06, 5F

03/18 11:33, , 6F
我重新改一下內文 ^^ 謝謝
03/18 11:33, 6F
※ 編輯: afa0525 來自: 140.124.42.216 (03/18 11:38) ※ 編輯: afa0525 來自: 140.124.42.216 (03/18 12:09)

03/18 13:20, , 7F
感謝 Steven0422 幫我解決我的疑惑
03/18 13:20, 7F
文章代碼(AID): #1Be7qXCZ (MATLAB)
文章代碼(AID): #1Be7qXCZ (MATLAB)