等待变量不存在 MATLAB

Wait while variable does not exist MATLAB

我需要暂停程序,直到创建变量。我指向数据文件,然后打开 uiimport 指定数据范围。而此时我必须暂停程序,直到创建变量。

%find file
[FileName,PathName] = uigetfile({'*.xls;*.xlsx', 'Excel files(*.xls, *.xlsx)'},'Укажите Excel-файл с данными');
%open import wizard
uiimport(strcat(PathName, FileName));
% here i need to suspend the program until the variable is created

调用uiimport时必须指定输出变量。如果您这样做,在 uiimport 完成之前,您调用 uiimport 之后的任何行都不会执行(用户已选择要导入或不导入数据)。

data = uiimport(fullfile(PathName, FileName));

% Do stuff with data
disp(data.value)

如果由于某种原因,你确实需要等到变量存在,你可以使用while循环结合exist,但是在一般来说,这是程序设计不佳的标志。

while ~exist('variablename', 'var')
    % Do something that may define the variable
end

更新

如果您只是阅读 excel 文件,使用 xlsread 可能更容易:

data = xlsread(filename, -1);