[討論] 有沒有不用迴圈輸出cell array的方式
其實這要先講到一個前因
任務是要做某個表格並且存出來
表格的格式如下
file_001 12 321 523
file_002 26 261 286
file_003 23 989 889
... ... ... ...
當然以上的東西幾乎都是可以直接用指令寫出來
就直覺上來說,通常就是會先處理最左邊字串的部分
然後再處理右邊矩陣的部分
最後因為字串跟矩陣無法結合,所以用了cell array來存
到這邊都還沒問題,直到存出的時候就發生問題了
因為想說變數的輸出大概是這樣
save file.txt cell -ascii
結果這招不能拿來給cell array使用
後來自己查了一下,大致上的作法就是用fopen與fprintf這兩個指令去做
以上面的例子來說,大概會寫成這樣
scell = size(cell)
fid=fopen('cell.txt','w+');
for i=1:scell(1)
fprintf(fid,'%s %f %f %f \n',cell(i,:));
end
fclose(fid);
任務是達成了
但是各位請注意,這個有用到迴圈
所以想請教各位,有沒有不使用迴圈而達成任務的方法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.190.70
※ 編輯: shuntau 來自: 140.112.190.70 (07/11 17:45)
推
07/11 22:16, , 1F
07/11 22:16, 1F
→
07/11 22:18, , 2F
07/11 22:18, 2F
→
07/11 22:18, , 3F
07/11 22:18, 3F
這個我說明一下好了
產生字串之後,只要用char這個指令就可以把字串變成cell了,而且會在空格的地方分段
並且還可以取轉置矩陣喔!
※ 編輯: shuntau 來自: 114.42.53.183 (07/11 22:36)
※ 編輯: shuntau 來自: 114.42.53.183 (07/11 22:37)
推
07/11 23:09, , 4F
07/11 23:09, 4F
→
07/11 23:10, , 5F
07/11 23:10, 5F
→
07/11 23:48, , 6F
07/11 23:48, 6F
→
07/11 23:50, , 7F
07/11 23:50, 7F
→
07/11 23:50, , 8F
07/11 23:50, 8F