檢查一個變數是否存在於工作區 MATLAB 中
Mehak Mubarik
2023年1月30日
我們將研究不同的方法來檢查 MATLAB 工作區中觀察變數是否存在。
變數可以是從本地變數到函式的任何內容。我們可以使用 exist
函式和不使用函式來檢查變數是否存在。
exist
函式給出從 0 到 9
的數字。每個數字都有其含義,具體取決於我們搜尋的變數。
讓我們從檢查工作區中觀察變數的存在開始,而不使用 MATLAB 中的任何內建函式。
在不使用 MATLAB 中的任何內建函式的情況下檢查工作區中觀察下的變數
為此,我們將根據我們的可變需求設計一個函式。讓我們的變數 a
、b
、c
和 d
等於 1
。
我們將函式定義為 check_workspace_variables()
。提供給函式的引數將是我們想要檢視的變數的名稱。
a = 1;
b = 1;
c = 1;
d = 1;
check_workspace_variables('d')
check_workspace_variables('b')
check_workspace_variables('c')
check_workspace_variables('e')
function our_output = check_workspace_variables(variable_check)
% Check to see if a variable exists in the Base Workspace
does_string_exists = sprintf('exist(''%s'')',variable_check);
our_workspace_variables = evalin('base',does_string_exists);
if our_workspace_variables == 1 % If variable exists in our workspace in MATLAB
disp('Is Present in our Workspace')
our_output = 1 ;
else % If variable doesnot exist in our workspace in MATLAB
disp('Is Absent from our Workspace')
our_output = 0 ;
end
end
輸出:
check_variable_presence
Is Present in our Workspace
ans = 1
Is Present in our Workspace
ans = 1
Is Present in our Workspace
ans = 1
Is Absent from our Workspace
ans = 0
在此示例中,如果你仔細檢視程式碼中定義的變數,我們會檢查變數 a
、b
、c
和 e
。
任何名為 e
的變數都不存在。這就是為什麼三個答案返回為 1
,最後一個返回為 0
。
使用 MATLAB 中的 Exist
函式檢查工作區中觀察下的變數
讓我們通過使用 magic()
函式建立一個隨機矩陣並將其命名為 our_variable
來理解這個概念。我們將使用 exist
函式來檢查 our_variable
是否存在於我們在 MATLAB 的工作區中。
our_variable = magic(5)
exist our_variable
輸出:
our_variable =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
ans = 1
根據 MATLAB 中函式的預定義數值輸出,1
表示我們變數的 name
存在於 MATLAB 的工作區中。
作者: Mehak Mubarik
Mehak is an electrical engineer, a technical content writer, a team collaborator and a digital marketing enthusiast. She loves sketching and playing table tennis. Nature is what attracts her the most.
LinkedIn