Re: [問題] 將某資料夾多個txt檔load進跑,再out p …已回收
※ 引述《aia (Ciao My Love)》之銘言:
: 反正有現成的程式,我就貼上來好了…
: % 首先用dir指令獲得某個資料夾裡的「所有」txt檔案的檔名structure
: % 這裡路徑可用相對路徑或絕對路徑,視需求而定
: % 在此假設移動到上兩層目錄下的Data資料夾中找txt檔
: filename_struct=dir('..\..\Data\*.txt');
: % 如果檔名有規律,甚至可以改成2007*.txt等縮小範圍
: for cou=1:length(filename_struct)
: % 依序取出檔名來用
: filename=filename_struct(cou,1).name;
: % 利用內建函數importdata讀檔,將之命名為Input_Data
: Input_Data=importdata(['..\..\Data\' filename]);
: % 中間Input_Data經過你需要做的處理後,假設得到一組數據叫Output_Data
: Output_Data=Input_Data;
: % 一樣再利用eval儲存Output_Data為txt檔,存檔路徑這裡用絕對路徑表示
: eval(['save c:\Data\' filename(1,1:end-4) ...
: '_out.txt Output_Data -ascii'])
: % 之所以用filename((1,1:end-4)是為了去掉副檔名.txt
: end
借這個已經很久的文章問一下
最後使用save出來的數字會變成帶科學記號的表示
有沒有辦法讓他不顯示成科學記號呢?
看板上的文章是使用fprintf
不過要用fprintf的話要先建立一個fid給他
如果是上面這個程式那fid要如何建立呢?
用fopen的話似乎沒辦法隨著輸入的資料自動建立輸出的檔名
ex:我在一個資料夾裡面有5個檔
檔名分別是a.txt
b.txt
c.txt
d.txt
e.txt
用程式跑完save後會得到 a_out.txt(就是在原檔名後加上_out輸出)
b_out.txt
c_out.txt
d_out.txt
e_out.txt
但內容卻變成n.xxxxxe+ooo的格式
想要他保持原來nxxxxx.xxx的樣子
用fopen的話有辦法讓系統自己建立檔名嗎?
或是要如何使save裡面的資料不要用科學記號表示
謝謝大家
--
思念 是從回憶深處伴著微風而來的熟悉香味
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.20.68.68
※ 編輯: Astronomy 來自: 211.20.68.68 (11/05 13:20)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章