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

  • 相关阅读:
    httpcontext in asp.net unit test
    initialize or clean up your unittest within .net unit test
    Load a script file in sencha, supports both asynchronous and synchronous approaches
    classes system in sencha touch
    ASP.NET MVC got 405 error on HTTP DELETE request
    how to run demo city bars using sencha architect
    sencha touch mvc
    sencha touch json store
    sencha touch jsonp
    51Nod 1344:走格子(贪心)
  • 原文地址:https://www.cnblogs.com/MCSFX/p/11697021.html
Copyright © 2011-2022 走看看