2013-02-06 96 views
1

我正在運行磁力測量程序。我有一個包含超過10個文本文件的文件,每個文件都包含精確磁場值下的數據(幅度與頻率)。在MATLAB中自動打開文件

我的程序然後讀取每個文件,繪製數據,對這些數據進行擬合,然後根據2個振幅峯值之間的頻率距離來找到磁場(這只是理論,它是沒有必要了解這部分)。

所有我想要的是一些代碼行,將打開指定目錄下的所有文件,並讓我用DATAS (即data = importdata(filenames{i},delimiterIn,headerlinesIn);

,後來我有一條線,要求該數據的用戶他想要打開的文件,並且它給出了磁場值。

所以我需要使用兩個文件夾:一個包含數據來創建我的擬合和方程。 包含用戶想要打開的任何數據文件以查找獲取數據時應用的磁場。

回答

4

從問題中不清楚您是否希望用戶以交互方式執行此操作,因此我假設您執行此操作。 要選擇一個文件夾,您可以使用uigetdir,例如:

d = uigetdir('C:\'); 

將在C顯示目錄:驅動器以供選擇,等等。 同樣,該文件夾,你可以使用選擇所有文件dir。例如,如果要挑選用戶選擇的文件夾中的所有TXT文件:

d = uigetdir(pwd, 'Select a folder'); 
files = dir(fullfile(d, '*.txt')); 
+0

謝謝! 我不希望用戶以交互方式執行此操作,但是您的解決方案對我來說似乎更好!再次感謝! – Vissenbot

+0

@ Marc-olivierLessard如果你已經知道路徑並且不需要用戶交互,你可以用一個像'C:\ myfolder \ mysubfolder'這樣的字符串替換'd'(帶或不帶尾隨反斜槓) –

+0

@ Marc-olivierLessard如果這個答案爲你工作得如此之好。你爲什麼不通過點擊旁邊的「V」圖標來「接受」它? – Shai