matlab中exist 检查变量、脚本、函数、文件夹或类的存在情况
参考:
1.https://ww2.mathworks.cn/help/matlab/ref/exist.html?searchHighlight=exist&s_tid=doc_srchtitle
2.
官方解释:
exist
检查变量、脚本、函数、文件夹或类的存在情况
说明
exist 以数字形式返回 namename 的类型。此列表描述与每个值关联的类型:
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 searchTypename 的类型,从而将结果限定为指定的类型 searchType。如果 searchType 类型的 name 不存在,则 MATLAB 返回 0。
示例
检查工作区变量是否存在
创建一个名为 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 函数是否为内置函数
输入参数
name - 变量、脚本、函数、文件夹或类的名称
字符向量 | 字符串标量
变量、脚本、函数、文件夹或类的名称,指定为字符向量或字符串标量。
name 可以包含部分路径,但必须为以下各项之一:
搜索路径上的一个文件夹
搜索路径上的一个文件夹中的内容
当前文件夹
当前文件夹中的内容
路径上文件夹的子文件夹不被搜索。
否则,name 必须包括完整路径。
如果 name 指定的文件具有未注册的文件扩展名(.mat、.fig、.txt),则要包括扩展名。您还可以包括扩展名以防与其他类似文件名冲突。例如,exist file.txt 或 exist("file.txt")。
注意
MATLAB 不检查文件的内容或内部结构,而只依赖文件扩展名进行分类。
数据类型: char | string
searchType - 要搜索的结果的类型
builtin | class | dir | file | var
要搜索的结果的类型,指定为下列值之一:
| searchType | 说明 | 可能的返回值 |
|---|---|---|
|
|
只检查内置函数。 |
5、0 |
|
|
只检查类。 |
8、0 |
|
|
只检查文件夹。 |
7、0 |
|
|
只检查文件或文件夹。 |
2、3、4、6、7、0 |
|
|
只检查变量。 |
1、0 |
替代功能
在 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 检查变量、脚本、函数、文件夹或类的存在情况的更多相关文章
- Matlab中调用VS编译的exe文件并传递变量 的方法
经历::在网上找了很多方法,都没有实现在matlab中调用vs的exe文件并且能够传递变量参数,一些小细节花费了自己很多时间,比喻忽略了一些空格! 网上很多的方法都是纯粹复制别人的方法,自己都没有去 ...
- matlab中的静态变量与全局变量
matlab中的静态变量和全局变量 1.静态变量 在matlab中,和其他语言一样,函数中的变量一把都是局部变量,也就是说,在函数调用完毕后,变量就会被释放.但是有些时候回希望上次改变的变量在下一次调 ...
- MFC 如何在一个类中使用在其他类中定义的变量或函数
[声明:本文的知识点来源于网络,参考网址:https://blog.csdn.net/bill_ming/article/details/7407848] [以下三种方法亲测有效,可以根据具体情况来选 ...
- C++中所有的变量和函数都必须有类型
/* C++中所有的变量和函数都必须有类型 C语言中的默认类型在C++中是不合法的 函数f的返回值是什么类型,参数又是什么类型? 函数g可以接受多少个参数? */ //更换成.cpp就会报错 f(i) ...
- bat 批处理切换到当前脚本所在文件夹
bat 批处理切换到当前脚本所在文件夹 切换到当前脚本所在的文件夹 ? 1 cd %~dp0 另外附上一些bat基本内容 —————————————————————————————— 批处理常用 ...
- 使用matlab批量处理图像后在指定文件夹存储
使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...
- 工具:从一个文件夹中复制jar到另一个文件夹中
工具类:从一个文件夹中复制jar到另一个文件夹中 需要的小伙伴可以试一试,很爽哦,有时候真的很需要! 需求:当我们拿到一个maven项目时,而maven项目的jar包都是通过pom.xml文件管理的, ...
- 【转载】C#代码开发过程中如何快速比较两个文件夹中的文件的异同
在日常的使用电脑的过程中,有时候我们需要比较两个文件夹,查找出两个文件夹中不同的文件以及文件中不同的内容信息,进行内容的校对以及合并等操作.其实使用Beyond Compare软件即可轻松比较,Bey ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
随机推荐
- if-else 可以这么写
最近部门在对以往的代码做一些优化,我在代码中看到一连串的 if(){}elseif(){} 的逻辑判断.这明显是有优化空间的. 由于内部代码不适合分享,这里我就用 <输出今天为星期几> 来 ...
- 高可用集群corosync+pacemaker之crmsh使用(二)
上一篇博客我们聊到了crmsh的安装以及配置一个资源到corosync+pacemaker高可用集群上的相关命令的用法,回顾请参考https://www.cnblogs.com/qiuhom-1874 ...
- python学习笔记回忆录02
1.for循环 依次按顺序从列表中取出值,直到遍历完整个列表为止 the_count =[1,2,3,4,5] for number in the_count: print "this is ...
- 干货 | 45张图庖丁解牛18种Queue,你知道几种?
在讲<21张图讲解集合的线程不安全>那一篇,我留了一个彩蛋,就是Queue(队列)还没有讲,这次我们重点来看看Java中的Queue家族,总共涉及到18种Queue.这篇恐怕是市面上最全最 ...
- springboot x.x.x RELEASE不同版本的差异
springboot 1.x.x RELEASE的 application.properties配置 server.context-path=/ server.port=8080 server.ses ...
- IDEA创建新空项目
IDEA创建新空项目 File -> New -> Project -> Empty Project -> 然后OK 这个是什么都不能做的,然后我们创建Module. File ...
- SSH框架下页面跳转入门篇
一.完成目标,因为WEB-INF下面的界面不能通过输入地址的方式直接访问,所以需要在后台定义一个方法跳转过去. 步骤1:.创建普通类继承ActionSupport类,并定义一个方法返回需要跳转的路径 ...
- linux(centos)下密码有效期和密码复杂度设置
1.密码有效期 方法一: chage -l 用户名 查看用户的过期时间 chage -M 99999 用户名 用命令修改过期时间为永久 chage -M 90 用户名 设置密码有效期为90天 chag ...
- [LeetCode]647. 回文子串(DP)
###题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc&q ...
- [LeetCode]96. 不同的二叉搜索树(DP,卡特兰数)
题目 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ ...