matlab中exist函数用法
exist有两种形式,一个参数和两个参数的,都是用来确定某个值(对象)是否存在
1. r = exist( a)
若 a 存在,则 r = 1; 否则 r = 0;
2. r = exist( 'name', 'kind')
name 可以是变量名,函数名、m 文件名、mex 文件、dll 文件、内嵌的函数、p码文件、目录、路径、Java class
kind可以是 :builtin 内嵌函数、class Java class、dir 目录、file 文件或者目录、var 变量
exist name
等价于 r=exist(name)
A = exist('name','kind')
返回值的含义如下:
0 不存在则返回值
1 name 可以是变量名,如果存在,返回值
2 函数名、m 文件名,存在则返回值
3 mex 文件、dll 文件,存在则返回值
4 内嵌的函数,存在则返回值
5 p码文件 , 存在则返回值
6 目录,存在则返回值
7 路径,存在则返回值
8 Java class,存在则返回值
应用举例
type = exist('plot') %说明当前目录下存在plot这个内嵌函数
type =
5
X=rand(1,1)
X =
0.9593
matabc
r=exist('X')
r =
1
r=exist('X','var')
r =
1
matabc
还有一个非常有用的
如何判定一个结构体为空
s = struct
s =
1x1 struct array with no fields.
size(s) %用size不好判定
ans =
1 1
matabc
length(s) %length也一样
ans =
1
r=exist('s.field') %用exist可以判定
r =
0