等待变量不存在 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);
我需要暂停程序,直到创建变量。我指向数据文件,然后打开 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);