matlab中exist函数说明

exist:
exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:
1. b = exist( a)
      若 a 存在,则 b = 1; 否则 b = 0;
2. b = exist( 'name', 'kind')
      kind 表示 name 的类型,可以取的值为:builtin(内建类型),class(类),dir(文件夹),file(文件或文件夹),var(变量)。

cell:
cell 是 matlab 中的一种数据类型,用{}来定义, {}内可以放任何类型的数据和矩阵
1. A = {[ 2, 4]} 就表示新建了一个 cell 类型的变量,这个变量包含一个 2 * 1 的矩阵,要引用 cell 类型的话,直接用下标来引用,    
      如:A{1} 就可以得到[ 2, 4] 这个矩阵了。
2. 在上述的 A 中增加一个元素:(有两种方法实现)
    (1).B(2) = { ‘SecondElement’}; 
    (2).B{2} = ‘SecondElement’;
3.cell 函数:
    B = cell(100, 1)

   表示 给 B 赋予100 * 1 个cell元素,但未赋值



exist name 
等价于 r=exist(name) ,在程序里面这样更加实用
0 不存在则返回值
1 name 可以是变量名,如果存在,返回值
2 函数名、m 文件名,存在则返回值
3 mex 文件、dll 文件,存在则返回值
4 内嵌的函数,存在则返回值
5 p码文件 , 存在则返回值
6 目录,存在则返回值
7 路径,存在则返回值
8 Java class,存在则返回值

A = exist('name','kind')
name 可以是变量名,函数名、m 文件名、mex 文件、dll 文件、内嵌的函数、p码文件、目录、路径、Java class

kind可以是 :
builtin 内嵌函数
class Java class
dir 目录
file 文件或者目录
var 变量

应用举例
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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值