尝试读取大数据文件并将其存储在工作区中,以便其他功能可以使用它
Trying to read large data file and store it in workspace so that other functions can use it
我希望我的 GUI 能够读取包含 header 信息和几列值的文件,并存储它以便可以对数据执行其他操作,例如平均值、最大值、 RMS 等
'importdata' 函数非常适合我正在使用的文件。我有一个脚本,允许用户选择一个导入的文件,所有数据都存储在工作区中。效果很好。但是,当我在我的 GUI 回调函数中 运行 这个脚本时,它的工作区是内部的而不是全局的?而且我无法从任何地方访问文件中的数据。
有没有办法读入数据以便在其他 GUI 回调中使用?
导入数据脚本
% Select the file
[fileName, pathName] = uigetfile('*.*','Pick Data File');
dataFile = [pathName, fileName];
%import data
allData = importdata(dataFile);
界面回调函数
function Open_File_Callback(hObject, eventdata, handles)
run ReadFile
gui 中的每个函数都有自己的 workspace
,因此您基本上应该与其他工作区共享公开的变量,为此请查看 assignin
,话虽如此,您的代码变为
function Open_File_Callback(hObject, eventdata, handles)
% Select the file
[fileName, pathName] = uigetfile('*.*','Pick Data File');
dataFile = [pathName, fileName];
%import data
allData = importdata(dataFile);
%assign to base workspace
assignin('base', 'tempData', allData);
此外,您可以在 this 常见问题 link
中找到有关主题的有用信息
我希望我的 GUI 能够读取包含 header 信息和几列值的文件,并存储它以便可以对数据执行其他操作,例如平均值、最大值、 RMS 等
'importdata' 函数非常适合我正在使用的文件。我有一个脚本,允许用户选择一个导入的文件,所有数据都存储在工作区中。效果很好。但是,当我在我的 GUI 回调函数中 运行 这个脚本时,它的工作区是内部的而不是全局的?而且我无法从任何地方访问文件中的数据。
有没有办法读入数据以便在其他 GUI 回调中使用?
导入数据脚本
% Select the file
[fileName, pathName] = uigetfile('*.*','Pick Data File');
dataFile = [pathName, fileName];
%import data
allData = importdata(dataFile);
界面回调函数
function Open_File_Callback(hObject, eventdata, handles)
run ReadFile
gui 中的每个函数都有自己的 workspace
,因此您基本上应该与其他工作区共享公开的变量,为此请查看 assignin
,话虽如此,您的代码变为
function Open_File_Callback(hObject, eventdata, handles)
% Select the file
[fileName, pathName] = uigetfile('*.*','Pick Data File');
dataFile = [pathName, fileName];
%import data
allData = importdata(dataFile);
%assign to base workspace
assignin('base', 'tempData', allData);
此外,您可以在 this 常见问题 link
中找到有关主题的有用信息