Matlab批量讀取一個檔案夾裡的檔案

來源:互聯網
上載者:User

Matlab批量讀取一個檔案夾裡的檔案

Matlab批量讀取一個檔案夾裡的txt檔案 瀏覽次數:1101次
懸賞分:10 | 解決時間:2010-8-11 22:26
| 提問者:cloned
| 檢舉
現在有一個檔案夾 裡面有50個左右的txt檔案 每個檔案大概三萬行 兩列 第一列是字串 第二列是浮點數字我只需要讀第二列現在我想寫一個.M檔案 批量讀取這個檔案夾裡的txt檔案 讀取完以後的陣列變數名就是txt的檔案名稱現在問題:1 MATLAB如何遍曆一個檔案夾裡的所有函數2 如果按照檔案名稱建立一個變數?
最佳答案
比如說在E:\new下有一系列txt檔案,檔案名稱符合matlab變數名的命名規則,並且沒有temp.txt檔案,每個檔案有兩列,以空格分割,第一列是字串,第二列是浮點數字,要讀取第二列的浮點數字為數組並以檔案名稱為變數名。file=dir('E:\new\*.txt');for n=1:length(file)    temp=dlmread(['E:\new\',file(n).name],' ',0,1);    eval()end

 

 

1.Matlab使用dir函數獲得指定檔案夾下的所有子檔案夾和檔案,並存放在在一種為檔案結構體數組中.dir函數可以有調用方式dir('.') 列出目前的目錄下所有子檔案夾和檔案dir('G:\Matlab') 列出指定目錄下所有子檔案夾和檔案dir('*.m') 列出目前的目錄下符合Regex的檔案夾和檔案得到的為結構體數組每個元素都是如下形式的結構體        name    -- filename        date    -- modification date        bytes   -- number of bytes allocated to the file        isdir   -- 1 if name is a directory and 0 if not        datenum -- modification date as a MATLAB serial date number分別為檔案名稱,修改日期,大小,是否為目錄,Matlab特定的修改日期可以提取出檔案名稱以作讀取和儲存用.2.我想不到什麼好方法,一般也就是使用一個統一的臨時變數來讀取檔案資料,比如tmp,然後用一個字串變數儲存的變數名,比如str='a1'要實現a1=tmp這樣的語句,可以採用如下語句str_a1=[str,'=tmp'];eval(str_a1);這樣a1這個變數便出現在workspace中但是問題是你並不知道那個變數名字叫a1啊?或者說我還找不到利用字串值對變數定址的方法,只能使用與上述過程相反的過程將值匯入到一個知道名字的變數中,如tmp.有興趣的話可以探討一下. 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.