我已使用导入工具将.txt文件数据作为单元格阵列导入基础工作区。
现在我使用带有按钮的GUIDE创建了GUI,该按钮将运行一个脚本,该脚本利用基本工作区变量来创建另一个文件。
Link
当我使用按钮运行createfile时,它显示未定义的函数或变量,即使该变量位于基础工作区中。
但是当我在命令窗口中运行相同的文件时,一切都很好。有什么建议为什么会这样?
答案 0 :(得分:1)
GUI具有自己的工作空间,因此您必须在GUI初始化时提交基本工作空间变量。例如:yourGUI(yourData);
将GUI的OpeningFcn编辑为以下内容:
handles.InputData= varargin(1);
%only for clear arrangement
handles.InputData = handles.InputData{1, 1};
随意重命名InputData
,但不要忘记更新句柄结构
guidata(hObject, handles);
现在,您可以在所有CallbackFunction中访问handles.InputData
,但请注意,guidata(hObject, handles);
每次更改后您都必须handles.InputData
。请阅读documentation以获取更多信息。
答案 1 :(得分:0)
哪个函数/变量未定义?该文件的名称是什么以及您将其分配给哪个变量?我的猜测(字面意思),假设pushbutton1_Callback
输入中没有一个是你提到的变量,将是以下内容:
功能和命令窗口不共享同一工作区。如果你想从你的函数中“看到”某些东西,你必须将它包含在输入中。