matlab 有關 addpath(genpath(fullfile(''))) 及matlab對文件目錄路徑的操作(轉)


fullfile();

利用文件各部分信息創建[1]合成完整文件名。

用法:

fullfile('dir1', 'dir2', ..., 'filename')

f = fullfile('dir1', 'dir2', ..., 'filename')

解釋:若文件'100.hea' 的路徑為'D:\matalab\xindianshuju\wenjian\100.hea',那么 'dir1'='D:';'dir2'='matlab';'dir3'='wenjian';‘dir4'='xindianshuju';'filename'='100.hea'

 

genpath();

P = genpath(D) returns a path string starting in D, plus, recursively, all the subdirectories of D, including empty subdirectories.

 

addpath();

addpath DIRNAME prepends the specified directory to the current
   matlabpath.  Surround the DIRNAME in quotes if the name contains a
   space.  If DIRNAME is a set of multiple directories separated by path
   separators, then each of the specified directories will be added.

 

 

 

[轉載]matlab對文件目錄路徑的操作(轉)

已有 605 次閱讀 2012-5-9 21:28 |個人分類:matlab工具|系統分類:科研筆記|關鍵詞:目錄 f Windows matlab 版本號

1、        filesep
用於返回當前平台的目錄分隔符,Windows是反斜杠(\),Linux是斜杠(/)。
2、        fullfile
用於將若干字符串連接成一個完整的路徑。例如:
>> f=fullfile('D:','Matlab','example.txt')
f=D:\Matlab\example.txt
(在Windows中,“D:\”表示D盤,“D:”表示目錄)
3、        fileparts
用於將一個完整的文件名分割成4部分:路徑,文件名,擴展名,版本號。例如:
>> f=fullfile('D:','Matlab','example.txt');
>>[pathstr,name,ext,versn]=fileparts(f)
pathstr=D:\Matlab
name=example
ext=.txt
versn=’’
4、        pathsep
返回當前平台的路徑分隔符。Windows是分號(;),Linux是冒號(:)。
5、        exist
可以用於判斷目錄或者文件是否存在,同時不同的返回值有不同的含義。例如:
>> f=fullfile('D:','Matlab','example.txt');
>>exist(f)
ans=2
>>exist('D:\Matlab')
ans =7
6、        which
可以通過一個函數或腳本名稱得到它的完整路徑,同時還能處理函數重載的情況,例如:
>> which abs(0)
C:\MATLAB7\toolbox\matlab\elfun\@double\abs.bi  % double method
>> which abs(single(0))
C:\MATLAB7\toolbox\matlab\elfun\@single\abs.bi  % single method
7、        isdir
判斷一個路徑是否代表了一個目錄,例如:
>> p='D:\Matlab';
>> f=fullfile(p,'example.txt');
>> isp=isdir(p)
isp=1
>> isf=isdir(f)
isf=0
8、        dir
用於列出一個目錄的內容,返回值為結構體數組類型,包含如下部分:name:文件或目錄的名稱;date:修改日期;bytes:文件大小;isdir:是否是目錄。例如:
>> p='D:\Matlab';
>>files=dir(p)
files = 
8x1 struct array with fields:
    name
    date
    bytes
    isdir
9、        cd
用於切換當前工作目錄。例如:
>>cd('c:/toolbox/matlab/demos')        %切換當前工作目錄到demos
>>cd ..        %切換當前工作目錄到matlab
10、        pwd
用於當前工作目錄的路徑。例如:
>> pwd
ans =C:\MATLAB7\work
11、        path
用於對搜索路徑的操作。例如:
<<path        %查詢當前所有的搜索路徑(MATLABPATH)
<<p=path                %把當前的搜索路徑存在字符串變量p中
<<path(‘newpath’)                %將當前搜索路徑設置為newpath
<<path(path,’newpath’)        %向路徑添加一個新目錄newpath
<<path(’newpath’, path)        %向當前搜索路徑預加一個新目錄nespath
12、        addpath和rmpath
用於對matlab搜索路徑的添加和刪除。例如:
<<addpath(‘directory’)        %將完整路徑directory加入到當前搜索路徑的最頂端
<<rmpath
13、        what
用於顯示出某目錄下存在哪些matlab文件;若輸入完整路徑,可列出指定目錄下的文件。例如:
<<what
<<what dirname
<<what(‘dirname’)
其中dirname是要查找的路徑的名字,路徑在matlab的搜索路徑內時,沒有必要輸入全名,只輸入最后或最后兩級就夠了。
14、        path2rc
保存當前matlab的搜索路徑到pathdef.m文件中。
轉自:matlab對文件目錄路徑的操作
 
 

在一個matlab的學習群里,有人提出了這么一個問題:在matlab里如何讀取多信文件的數據,例如,有許多數據,存放在不同的txt文件里。

我的辦法是把這些文件的文件名按一定的規律命名,假如有一百個數據文件,則可以把這些文件分別命名為:filename1.txt,filename2.txt,...,fielname100.txt,在讀取的時候則可以使用循環:

for i = 1:100

fileName = ['filename' num2str(i) '.txt'];

x = load(filiName);

end

但另一位朋友給出了另一個解決的辦法,無需對數據文件的文件名進行修改,就是文件名無須有規律,他的辦法是:

A = dir(fullfile('d:\datafile','*.txt'));

這個語句是把存放數據文件的目錄d:\datafile下的所有txt文件列出來,並把這些文件名的信息存放到一個變量A中,A是一個結構體變量,只要對A進行循環就可以讀取到所有文件的數據了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM