尝试读取大数据文件并将其存储在工作区中,以便其他功能可以使用它

时间:2019-01-20 05:09:44

标签: matlab matlab-gui

我希望我的GUI能够读取包含标头信息和几列值的文件,并将其存储,以便可以对数据执行其他操作,例如均值,最大值,RMS等。

'importdata'函数非常适合我正在使用的文件。我有一个脚本,该脚本允许用户选择要导入的文件,并且所有数据都存储在工作区中。效果很好。但是,当我在GUI回调函数中运行此脚本时,它的工作空间是内部的,而不是全局的?而且我无法从任何位置访问文件中的数据。

有没有一种方法可以读取数据,以便可以在其他GUI回调中使用它?

导入数据脚本

% Select the file
[fileName, pathName] = uigetfile('*.*','Pick Data File');
dataFile = [pathName, fileName];

%import data
allData = importdata(dataFile);

GUI回调函数

function Open_File_Callback(hObject, eventdata, handles)

run ReadFile

1 个答案:

答案 0 :(得分:2)

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常见问题解答链接中找到有关该主题的有用信息