Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab循环中的覆盖数据_Matlab_User Interface_Loops - Fatal编程技术网

Matlab循环中的覆盖数据

Matlab循环中的覆盖数据,matlab,user-interface,loops,Matlab,User Interface,Loops,我得到了GUI中按钮的以下代码,其中它要求一对坐标X,Y,保存在向量Z中 我希望它以不同的名称保存不同的.mat文件,在本例中,在特定的迭代次数3中,每次保存Z值时都会清除编辑框。问题是它会覆盖过去的值,只保留第一个文件中的最后一个值,并在其他文件上生成NaN 任何帮助都将不胜感激 function pushbutton1_Callback(hObject, eventdata, handles) folder=pwd;

我得到了GUI中按钮的以下代码,其中它要求一对坐标X,Y,保存在向量Z中

我希望它以不同的名称保存不同的.mat文件,在本例中,在特定的迭代次数3中,每次保存Z值时都会清除编辑框。问题是它会覆盖过去的值,只保留第一个文件中的最后一个值,并在其他文件上生成NaN

任何帮助都将不胜感激

function pushbutton1_Callback(hObject, eventdata, handles)
   folder=pwd;                                                             %Current folder

   x=str2double(get(handles.edit1,'String'));
   y=str2double(get(handles.edit2,'String'));
   z=[x y];

   k=1;
   ng=3;
  while k<=ng
    baseFileName=sprintf('data%02d.mat',k);
    fullFileName=fullfile(folder,baseFileName);
    save(fullFileName);
    S.(sprintf('z%d',k))=z;
    save(baseFileName,'-struct','S');
    k=k+1;

     if k<=ng;
       set(handles.edit1,'String','')
       set(handles.edit2,'String','')   
       x=str2double(get(handles.edit1,'String'));
       y=str2double(get(handles.edit2,'String'));
       z=[x y];        
     end
  end

在一次回调中,z的值不变。第二,我尝试了你保存文件的代码,它对我来说很好。请尝试只执行此代码:同时感谢你的回复。如果我只使用您建议的代码,那么我的3个文件的值与上次输入的值相同,而不是保存引入的每一对坐标,因为变量z在此函数调用中没有更改。对不起,S.sprintf'z%d',k=z;savebaseFileName、-struct、-S;够了吗?我是否需要在循环中更改变量名以外的内容来保存所有值?