参考:

1.https://ww2.mathworks.cn/help/matlab/ref/exist.html?searchHighlight=exist&s_tid=doc_srchtitle

2.

官方解释:

exist

检查变量、脚本、函数、文件夹或类的存在情况

全页折叠
 

说明

示例

exist name 以数字形式返回 name 的类型。此列表描述与每个值关联的类型:

  • 0 - name 不存在或因其他原因找不到。例如,如果 name 存在于 MATLAB 不能访问的受限文件夹中,exist 将返回 0。

  • 1 - name 是工作区中的变量。

  • 2 - name 是扩展名为 .m.mlx、 或 .mlapp 的文件,name 是具有未注册文件扩展名(.mat.fig.txt)的文件的名称。

  • 3 - name 是 MATLAB 搜索路径上的 MEX 文件。

  • 4 - name 是已加载的 Simulink 模型或者位于 MATLAB 搜索路径上的 Simulink 模型或库文件。

  • 5 - name 是内置 MATLAB 函数。这不包括类。

  • 6 - name 是 MATLAB 搜索路径上的 P 代码文件。

  • 7 - name 是文件夹。

  • 8 - name 是类。(如果使用 -nojvm 选项启动 MATLAB,则 exist 对 Java 类返回 0。)

MATLAB 搜索从搜索路径的顶层开始并向下移动,直到找到结果或到达路径上的最后一个文件夹。如果一个文件夹中存在多个 name,根据 函数优先顺序,MATLAB 将显示 name 的第一个实例。文件夹是函数优先级规则的例外。除变量和内置函数外,它们的优先级高于所有类型。

例如,如果 name 与一个扩展名为 .m 的文件和一个 P 代码文件均匹配,则 exist 返回 6,即将其识别为 P 代码文件。如果 name 与变量和 P 代码文件均匹配,则 exist 返回 1,即将其识别为变量。如果 name 与文件夹和 MATLAB 函数均匹配,则 exist 返回 7,即将其识别为文件夹。

示例

exist name searchType 返回 name 的类型,从而将结果限定为指定的类型 searchType。如果 searchType 类型的 name 不存在,则 MATLAB 返回 0

示例

A = exist(___)name 的类型返回到 A

 

示例

全部折叠

检查工作区变量是否存在

创建一个名为 testresults 的变量,然后确认它是否存在于工作区中。

testresults = magic(5);
exist testresults
ans = 1

名为 testresults 的变量存在于工作区中。

 
 

检查文件夹是否存在

创建文件夹 myfolder,然后检查它是否作为文件夹存在。

mkdir myfolder;
exist myfolder dir
ans = 7

如果您指定类型为 file,MATLAB 将同时搜索文件和文件夹,因此返回相同的结果。

exist myfolder file
ans = 7
 
 

检查 MATLAB 函数是否为内置函数

检查 plot 函数是内置函数还是文件。

A = exist('plot')
A = 5

这表明 plot 是一个 MATLAB 内置函数。

 
 

输入参数

全部折叠

name - 变量、脚本、函数、文件夹或类的名称
字符向量 | 字符串标量

变量、脚本、函数、文件夹或类的名称,指定为字符向量或字符串标量。

name 可以包含部分路径,但必须为以下各项之一:

  • 搜索路径上的一个文件夹

  • 搜索路径上的一个文件夹中的内容

  • 当前文件夹

  • 当前文件夹中的内容

路径上文件夹的子文件夹不被搜索。

否则,name 必须包括完整路径。

如果 name 指定的文件具有未注册的文件扩展名(.mat.fig.txt),则要包括扩展名。您还可以包括扩展名以防与其他类似文件名冲突。例如,exist file.txtexist("file.txt")

注意

MATLAB 不检查文件的内容或内部结构,而只依赖文件扩展名进行分类。

数据类型: char | string

searchType - 要搜索的结果的类型
builtin | class | dir | file | var

要搜索的结果的类型,指定为下列值之一:

searchType 说明 可能的返回值

builtin

只检查内置函数。

5、0

class

只检查类。

8、0

dir

只检查文件夹。

7、0

file

只检查文件或文件夹。

2、3、4、6、7、0

var

只检查变量。

1、0

替代功能

  • 要检查文件或文件夹是否存在,还可以使用 isfolderisfile 函数。exist 搜索位于搜索路径上的文件和文件夹,这可能会导致意外结果。isfolderisfile 仅在指定路径或当前文件夹中搜索文件或文件夹,这样可以更快地获得更明确的结果。

在 R2006a 之前推出

如果官方解释还不够清楚,下面是参考的一篇博文

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元素,但未赋值

matlab中exist 检查变量、脚本、函数、文件夹或类的存在情况的更多相关文章

  1. Matlab中调用VS编译的exe文件并传递变量 的方法

    经历::在网上找了很多方法,都没有实现在matlab中调用vs的exe文件并且能够传递变量参数,一些小细节花费了自己很多时间,比喻忽略了一些空格!  网上很多的方法都是纯粹复制别人的方法,自己都没有去 ...

  2. matlab中的静态变量与全局变量

    matlab中的静态变量和全局变量 1.静态变量 在matlab中,和其他语言一样,函数中的变量一把都是局部变量,也就是说,在函数调用完毕后,变量就会被释放.但是有些时候回希望上次改变的变量在下一次调 ...

  3. MFC 如何在一个类中使用在其他类中定义的变量或函数

    [声明:本文的知识点来源于网络,参考网址:https://blog.csdn.net/bill_ming/article/details/7407848] [以下三种方法亲测有效,可以根据具体情况来选 ...

  4. C++中所有的变量和函数都必须有类型

    /* C++中所有的变量和函数都必须有类型 C语言中的默认类型在C++中是不合法的 函数f的返回值是什么类型,参数又是什么类型? 函数g可以接受多少个参数? */ //更换成.cpp就会报错 f(i) ...

  5. bat 批处理切换到当前脚本所在文件夹

    bat 批处理切换到当前脚本所在文件夹   切换到当前脚本所在的文件夹 ? 1 cd  %~dp0 另外附上一些bat基本内容 —————————————————————————————— 批处理常用 ...

  6. 使用matlab批量处理图像后在指定文件夹存储

    使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...

  7. 工具:从一个文件夹中复制jar到另一个文件夹中

    工具类:从一个文件夹中复制jar到另一个文件夹中 需要的小伙伴可以试一试,很爽哦,有时候真的很需要! 需求:当我们拿到一个maven项目时,而maven项目的jar包都是通过pom.xml文件管理的, ...

  8. 【转载】C#代码开发过程中如何快速比较两个文件夹中的文件的异同

    在日常的使用电脑的过程中,有时候我们需要比较两个文件夹,查找出两个文件夹中不同的文件以及文件中不同的内容信息,进行内容的校对以及合并等操作.其实使用Beyond Compare软件即可轻松比较,Bey ...

  9. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

随机推荐

  1. 每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?

    一切的基本功都是为后期调试滑块验证码准备的. 有兴趣的关注一下知识图谱与大数据公众号,当然不关注也无所谓.今天来看看斗鱼登录密码加密,正所谓熟能生巧,这种简单一点的基本3-5分钟就要能抠出来,有兴趣得 ...

  2. 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!

    写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...

  3. 分布式文件存储:FastDFS简单使用与原理分析

    引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点. 用了 2 ...

  4. 08_线程间通信 ITC

    1.线程间的通信方式 1.共享全局变量 2.线程队列(queue) 3.信号量(Semaphore) 2.共享全局变量进行通信 from threading import Thread import ...

  5. 最详细不过的CUDA的下载安装使用、环境变量配置,有这一篇就够了

    在上一期中,我们介绍了为什么使用GPU可以加速计算和处理图像,以及查看自己的电脑能否使用GPU加速,不知道的可以去看上一期文章,这期我们正式的来下载与安装GPU加速工具CUDA,并检查是否安装成功. ...

  6. STS 使用lombox.jar

    在Maven本地仓库中找到 将lombox.jar放在与STS.exe平级的目录下, 然后安装完了以后可能会出先打不开的情况.这个时候只要打开STS.ini文件. 然后修改文件保存

  7. Nginx在mvvm模式中的使用

  8. C#开发PACS医学影像处理系统(一):开发背景和说明

    本系列文章将从以下模块和大家分享和讨论使用C#开发医学软件PACS和RIS系统, 国内相关资料比较少,也借此机会丰富一下医学软件开发生态,讨论技术难点,希望大家互相帮助共同进步. 章节介绍及截图预览: ...

  9. Odoo10.0中的工作流

    Odoo10.0中可以通过两种方式来实现工作流(workflow) 一种的官网API中给出的方式,链接:https://www.odoo.com/documentation/10.0/referenc ...

  10. 吴恩达《深度学习》-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-第一周 机器学习(ML)策略(1)(ML strategy(1))-课程笔记

    第一周 机器学习(ML)策略(1)(ML strategy(1)) 1.1 为什么是 ML 策略?(Why ML Strategy?) 希望在这门课程中,可以教给一些策略,一些分析机器学习问题的方法, ...