在 Matlab GUI 中加载数据
Load Data in Matlab GUI
我正在开发一个 GUI,我希望用户以文本或 excel 格式输入。当他从我的 GUI 中单击 "Upload File" 按钮时,文件浏览器将打开,他将 select 文本文件。一旦他点击打开,文件应该在工作区中,所以我的下一个代码将取值给出结果。
我所做的是:将此代码放在按钮下
[filename,pathname] = uigetfile('*.txt')
loaddata = fullfile(pathname,filename)
data = load(loaddata)
A = data(:,1)
B = data(:,2)
C = data(:,3)
D = data(:,4)
handles.input1 = A;
handles.input2 = B;
handles.input3 = C;
handles.input4 = D;
现在当浏览器打开时,我可以 select .txt 文件,它有 4 列和 2000 行数据。但是当我回到工作区时,我在工作区中看不到任何东西,但是命令 window!
中第二列的所有值
您可以使用 setappdata and the associated getappdata 来存储应用程序定义的数据并从其他地方检索它,例如从 GUI 或基础工作区。
在您的情况下,您可以将 A
、B
、C
和 D
存储在基础工作区中,以便您的其他脚本可以使用它们。如果需要,您还可以存储 handles
结构。
例如,您在 GUI 中的代码可能如下所示:
[filename,pathname] = uigetfile('*.txt')
loaddata = fullfile(pathname,filename)
data = load(loaddata)
%// Store in the base workspace (i.e. the "0")
setappdata(0,'AllData',data);
请注意,只要您使用 getappdata
检索具有相同名称的变量,您就可以写任何您想要的名称。我在这里使用了 AllData
,但您也可以将其保留为 data
。
因此,在另一个脚本中你是 运行,像这样使用 getappdata
:
DataInScript = getappdata(0,'AllData');
A = AllData(:,1)
B = AllData(:,2)
C = AllData(:,3)
D = AllData(:,4)
所以现在,根据您是否已经分配了 A、B、C 和 D,您可以直接从 AllData
访问您的数据。
我正在开发一个 GUI,我希望用户以文本或 excel 格式输入。当他从我的 GUI 中单击 "Upload File" 按钮时,文件浏览器将打开,他将 select 文本文件。一旦他点击打开,文件应该在工作区中,所以我的下一个代码将取值给出结果。
我所做的是:将此代码放在按钮下
[filename,pathname] = uigetfile('*.txt')
loaddata = fullfile(pathname,filename)
data = load(loaddata)
A = data(:,1)
B = data(:,2)
C = data(:,3)
D = data(:,4)
handles.input1 = A;
handles.input2 = B;
handles.input3 = C;
handles.input4 = D;
现在当浏览器打开时,我可以 select .txt 文件,它有 4 列和 2000 行数据。但是当我回到工作区时,我在工作区中看不到任何东西,但是命令 window!
中第二列的所有值您可以使用 setappdata and the associated getappdata 来存储应用程序定义的数据并从其他地方检索它,例如从 GUI 或基础工作区。
在您的情况下,您可以将 A
、B
、C
和 D
存储在基础工作区中,以便您的其他脚本可以使用它们。如果需要,您还可以存储 handles
结构。
例如,您在 GUI 中的代码可能如下所示:
[filename,pathname] = uigetfile('*.txt')
loaddata = fullfile(pathname,filename)
data = load(loaddata)
%// Store in the base workspace (i.e. the "0")
setappdata(0,'AllData',data);
请注意,只要您使用 getappdata
检索具有相同名称的变量,您就可以写任何您想要的名称。我在这里使用了 AllData
,但您也可以将其保留为 data
。
因此,在另一个脚本中你是 运行,像这样使用 getappdata
:
DataInScript = getappdata(0,'AllData');
A = AllData(:,1)
B = AllData(:,2)
C = AllData(:,3)
D = AllData(:,4)
所以现在,根据您是否已经分配了 A、B、C 和 D,您可以直接从 AllData
访问您的数据。