參考:
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
。
示例
輸入參數
替代功能
在 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元素,但未賦值