函数功能:切换到指定目录
【fullfile函数】
利用文件各部分信息创建[1]合成完整文件名。
用法:
fullfile('dir1', 'dir2', ..., 'filename')
f = fullfile('dir1', 'dir2', ..., 'filename')
解释:若文件'100.hea' 的路径为'D:\matalab\xindianshuju\wenjian\100.hea',那么
'dir1'='D:';'dir2'='matlab';'dir3'='xindianshuju';‘dir4'='wenjian';'filename'='100.hea'
【dir函数】
函数功能:获得指定文件夹下的所有子文件夹和文件,并存放在在一种为文件结构体数组中.
调用方式:
filelist=dir('.')列出当前目录下所有子文件夹和文件
filelist=dir('D:\Matlab')列出指定目录下所有子文件夹和文件
filelist=dir('*.m')列出当前目录下符合正则表达式的文件夹和文件
【mkdir函数】
【exist函数】
函数功能:一个参数和两个参数的,作用都是用于确定某值是否存在:
调用方式:
方式1. ret = exist( a)
0 不存在则返回值
1 name 可以是变量名,如果存在,返回值
2 函数名、m 文件名,存在则返回值
3 mex 文件、dll 文件,存在则返回值
4 内嵌的函数,存在则返回值
5 p码文件 , 存在则返回值
6 目录,存在则返回值
7 路径,存在则返回值
8 Java class,存在则返回值
方式2. ret = exist( 'name', 'kind')
kind 表示 name 的类型,可以取的值为:builtin(内建类型),class(类),dir(文件夹),file(文件或文件夹),var(变量)。
【addPath】
功能:调用处在不同文件夹的MATLAB函数 ,相当于File->Set Path->Add Folder;
举例:cmd的当前目录为E:\实验室\;该文件夹 包含了fun1.m文件和utils(sub_fun.m)文件夹,我们可以直接运行fun1.m,但不能运行sub_fun.m。必须加以下代码
addpath('utils');%把 E:\实验室\utils加入到搜索路径中
注意:windons系统采用"\"划分路径,在使用的时候要转化成"/"
///
uigetfile命令的应用
此函数的用法为
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName)
FileName:返回的文件名
PathName:返回的文件的路径名
FilterIndex:选择的文件类型
FilterSpec:文件类型设置
DialogTitle:打开对话框的标题
DefaultName:默认指向的文件名
例子:(接来自matlab的帮助)
1.最简单的形式,只设置了一种可选择的文件类型
[FileName,PathName] = uigetfile('*.m','Select the M-file');
2.设置多种文件类型
[filename, pathname] = ...
uigetfile({'*.m';'*.mdl';'*.mat';'*.*'},'File Selector');
3.可以为文件类型设置说明,注意书写格式
[filename, pathname] = uigetfile( ...
{'*.m;*.fig;*.mat;*.mdl','MATLAB Files (*.m,*.fig,*.mat,*.mdl)';
'*.m', 'M-files (*.m)'; ...
'*.fig','Figures (*.fig)'; ...
'*.mat','MAT-files (*.mat)'; ...
'*.mdl','Models (*.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Pick a file');
4.可返回选择的文件类型序号,并且可以设置文件多选,设置文件多选时注意,当只选了一个文件时,返回的filename为字符串,选择多个文件时,返回的元胞类型。
[filename, pathname, filterindex] = uigetfile( ...
{ '*.mat','MAT-files (*.mat)'; ...
'*.mdl','Models (*.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Pick a file', ...
'MultiSelect', 'on');
5.可以设置默认文件名
uigetfile({'*.jpg;*.tif;*.png;*.gif','All Image Files';...
'*.*','All Files' },'mytitle',...
'C:\Work\myfile.jpg')
//
【fileparts,which(mfilename)】
mfilename 返回当前正在运行的函数所在文件的文件名。
which:找出函数和文件的位置
举例
K>>which(mfilename)
ans =
E:\实验室\俊君师兄\计划\眼睛定位_人脸对齐\facedet\runfacedet.m
//
[pathstr, name, ext, versn] = fileparts(filename)
其中filename是要解析的文件的完整路径,例如:E:\games\IGI\bin\IGI.exe。fileparts将这个文件名(包含完整路径信息)各部分分别提取到四个变量中。
其中pathstr是这个文件的路径名,name是文件名,ext是包含一个点号文件的扩展名(指定了文件的类型)。matlab帮助文档中指明,第四个参数将在未来版本中舍弃。
【system】
在Matlab里可以通过system这个命令调出dos命令,比如:执行语句system('mkdir step1')就可以在当前目录下建立名为step1的文件夹!在实际编程中,可以结合函数exist使用。比如:
if exist('Step1') == 0
system('mkdir Step1');
end
即:先判断当前目录下是否以存在名为Step1的子目录(文件夹),如果不存在,则建立。
【dlmread】
dlmread:读取有分隔符的ASCII文件到矩阵函数
dlmread
读取有分隔符的ASCII文件到矩阵函数
图形接口
作为dlmread的替代,可以使用导入向导。可以从【File菜单】中激活导入向导。
语法
M = dlmread('filename')
M = dlmread('filename', delimiter)
M = dlmread('filename', delimiter, R, C)
M = dlmread('filename', delimiter, range)
描述
M = dlmread('filename') 从由filename指定的具有分割标志的ASCII文件中读取数值数据,使用一个分隔符作为格式化的文件的暗示信息。默认分隔符使用逗号(,)。
M = dlmread('filename', delimiter) 这里指定了分隔符。使用\t代表制表符tab分隔。
注意:当从格式文件推断分隔符时,连续的空格符作为一个分隔符对待。但是不同的是, 如果通过分隔符输入参数指定了分隔符,那么重复的分隔字符将分别作为单独的分隔符对待。
M = dlmread('filename', delimiter, R, C) R和C指定了数据在文件中的左上角位置。R和C的值从0开始。R = 0, C = 0指定了了文件中的第一个值,位于文件的左上角。
M = dlmread('filename', delimiter, range) 读取由range定义的区域块的数值,range = [R1 C1 R2 C2] 。也可以使用电子表格符号来指定,range = 'A1..B7'.。
备注
dlmread将用0填充没有边界的区域。有多行的数据文件,如果以非空格分隔符结束,例如分号,则在导入后将会多产生一行全0的列与最后。
dlmread在导入任何复数时,将作为一个整体导入一个复数单元中,转换实部和虚部到特定的数据类型。正确的复数格式为
±<real>±<imag>i|j 5.7-3.1i
±<imag>i|j -7j
嵌入了空格的复数是不正确的格式,空格将被认为是分隔符。
///
文件删除 delete
自带的结构体
imformats
IMFORMATS Manage file format registry.
FORMATS = IMFORMATS returns a structure containing all of the values in
the file format registry. The fields in this structure are:
ext - A cell array of file extensions for this format
isa - Function to determine if a file "IS A" certain type
info - Function to read information about a file
read - Function to read image data a file
write - Function to write MATLAB data to a file
alpha - 1 if the format has an alpha channel, 0 otherwise
description - A text description of the file format
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
【mex】
函数功能:是要通过使用MEX文件,MEX文件使得调用C函数和调用Matlab的内置函数一样方便。MEX文件是由原C代码加上MEX文件专用的接口函数后编译而成的。可以
这样理解,MEX文件实现了一种接口,它把在Matlab中调用函数时输入的自变量通过特定的接口调入了C函数,得出的结果再通过该接口调回Matlab。
调用方式:
如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:
double add(double x, double y)
{
return x + y;
}
现在我想要在Matlab中使用它,比如输入:
>> a = add(1.1, 2.2)
3.3000