首页 » 技术分享 » matlab中exist函数用法

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

转载自原文链接, 如需删除请联系管理员。

原文链接:matlab中exist函数用法,转载请注明来源!

0