Re: [問題] 將某資料夾多個txt檔load進跑,再out p …已回收

看板MATLAB作者 (KAMOSUZO~)時間17年前 (2008/11/05 13:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《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)
文章代碼(AID): #194Ip_m- (MATLAB)
文章代碼(AID): #194Ip_m- (MATLAB)