zoukankan      html  css  js  c++  java
  • matlab中exist 检查变量、脚本、函数、文件夹或类的存在情况

    参考:

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

  • 相关阅读:
    软件开发规范
    Fail2ban + firewalld 防护doss攻击
    SourceTree&Git部分名词解释
    训子
    一个网络下,手机如何访问本地网址
    tempalte.js的一般用法
    template.js的介绍
    获取URL中的参数
    js判断苹果和安卓端或者wp端
    HTML5与WebGL编程
  • 原文地址:https://www.cnblogs.com/MCSFX/p/11697021.html
Copyright © 2011-2022 走看看