MATLAB GUI:将变量更新为mat文件

时间:2017-11-21 11:38:57

标签: matlab user-interface matlab-guide matlab-gui

我有程序在最后启动GUI。我用指南建造它。我使用名为n.mat的mat文件(和按钮功能)将4个变量从我的程序加载到4个GUI文本框中。

在程序中

{ path: 'filter/:test/:test2/:test3/:test4/:test5/:test6',  component: FiltersPageComponent}

在GUI界面按钮

n = [nuno, ndue, ntre, nquattro];
save n.mat

然后我有其他4个文本框,我在其中更改变量的值并将它们保存在另一个mat文件中。我不确定我是否正确这样做。

在程序中(在调用myGUI之前)我初始化m向量以获取更新的变量。

% --- Executes on button press in upload.
function upload_Callback(hObject, eventdata, handles)
% hObject    handle to upload (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

S = load('n.mat');

handles.v1 = S.nuno;
handles.v2 = S.ndue;
handles.v3 = S.ntre;
handles.v4 = S.nquattro;

set(handles.initial1,'String',num2str(handles.v1));
set(handles.initial2,'String',num2str(handles.v2));
set(handles.initial3,'String',num2str(handles.v3));
set(handles.initial4,'String',num2str(handles.v4));

guidata(hObject, handles); 

在程序中(在调用myGUI之后)我尝试加载m.mat文件并从中提取变量,这样我就可以在程序中的某些计算中使用它们。

nunof = 0;
nduef = 0;
ntref = 0;
nquattrof = 0;
m = [nunof, nduef, ntref, nquattrof];
save m.mat

在此之前,在GUI界面中完成了'按钮我尝试将输入保存到m.mat文件中,如下所示:

load m.mat;

nunof = m.nunof;
nduef = m.nduef;
ntref = m.ntref;
nquattrof = m.nquattrof;

我想知道为什么这不起作用,如何更改它。非常感谢。

1 个答案:

答案 0 :(得分:1)

您无法使用<td> [Reasons_Code]</td&gt。你错过了追加的选项。

为了使用append,你必须声明一个文件名,变量然后追加。

save('m.mat','-append');

取自 - https://au.mathworks.com/help/matlab/ref/save.html

此外,您的代码中没有重新定义m结构中的变量。