Re: [問題] 如何改變矩陣中數值的格式已回收

看板MATLAB作者 (代工)時間13年前 (2011/06/28 01:47), 編輯推噓2(205)
留言7則, 1人參與, 最新討論串4/5 (看更多)
提供另一種寫法 clear temp=1:100; A=reshape(repmat(temp,30,1),[],1); B=num2str(A); B(find(B==' '))='0'; fid = fopen('testt.txt', 'w'); for i=1:max(size(B)) fprintf(fid, '%s\r\n', B(i,:)); end fclose(fid); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.122.23

06/28 13:05, , 1F
真厲害。B=num2str(A)這行是把B存成char的格式而非double
06/28 13:05, 1F

06/28 13:05, , 2F
下一行則直接把B當中的空格取代為0;因為是char格式,字
06/28 13:05, 2F

06/28 13:06, , 3F
元是會被認同而不會被省略,所以可以用這樣的方法。
06/28 13:06, 3F

06/28 13:07, , 4F
如果是用double(矩陣)的格式,數字是幾位就只會存成幾位
06/28 13:07, 4F

06/28 13:07, , 5F
又學到一招了,感謝你。
06/28 13:07, 5F

06/28 13:47, , 6F
不過自己計算了一下運算時間,後者的比較慢,簡潔但可惜
06/28 13:47, 6F

06/28 13:48, , 7F
我想應該是慢在判斷式的使用吧...時間差了十倍
06/28 13:48, 7F
文章代碼(AID): #1E2C8jrL (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1E2C8jrL (MATLAB)