如何将for循环中创建的数据保存到数组中? MATLAB

时间:2014-05-23 12:34:43

标签: matlab loops global

我正在使用for循环来保存我希望在matlab中使用GUI处理的多个文件的路径和名称。我的代码如下:

% --- Executes on button press in MultiSelect.
function MultiSelect_Callback(hObject, eventdata, handles)
% hObject    handle to MultiSelect (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[FileName,PathName,FilterIndex] = uigetfile('*.txt*','Study Files','MultiSelect','on');

Cols = size(FileName,2);
numfiles = Cols;


for i = 1:numfiles
    file{i} =fullfile(PathName,FileName{i});
end
 handles.gettinginfo = file ;
 guidata(hObject,handles)

    Fid = fopen(file{i});
 data1 = handles.gettinginfo(2);

%  for ii = 1:numfiles
   B = [];

      fid = fopen(data1);

  tline = fgets(fid);
 while ischar(tline)
     parts = textscan(tline, '%f;');
     if numel(parts{1}) > 0
B = [ B ; parts{:}' ];
     end
     tline = fgets(fid);

 end  

当我尝试将data1fopen一起使用时,我遇到了问题,它给了我错误:
使用fopen时出错 第一个输入必须是char类型的文件名,或double类型的文件标识符。

data1 = handles.gettinginfo(2);为我提供了第二个选定文件的文件的路径和名称,因此我不太明白为什么它不会起作用。

我想将在for循环中创建的选定文件保存到全局数组中。做这个的最好方式是什么?当我尝试使用file{i}从文件等导入数据时,它会覆盖其他文件并仅生成最后一个文件的信息,但我认为全局数组可能有助于解决此问题。
提前谢谢了。

0 个答案:

没有答案