0

我希望我的 GUI 能够读取包含标题信息和几列值的文件,并将其存储以便可以对数据执行其他操作,例如平均值、最大值、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
4

1 回答 1

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);

此外,您可以在此常见问题解答链接中找到有关主题的有用信息

于 2019-01-20T06:06:53.410 回答