将每个循环的结果数组添加到一个单元格
Add the resulting array of each loop to a cell
我有一些算法,包括 while
循环:
while (condition)
% do something and return a result array B
end
假设:
-Loop 1: B1=[1 2 3 4 5....9];
-Loop 2: B2=[10 11 12....15];
-Loop 3: B3=[16 17 18 19] ;
-Loop 4: B4=[20 21 22....30];
如何在循环结束后创建一个单元格A={B1,B2,B3,B4}
?
对于我的真实数据,while
循环可能循环了100次或更多,以上是一个简化。
您可以使用 horzcat 或 [] 加入数组。然后初始化一个单元格并将它们保存到那个单元格中。
%% loop
count = 0 ;
iwant = cell([],1) ;
while .....
count = count+1 ;
%% let be your arrays
B1=1:9 ;
B2=10:15 ;
B3=16:19 ;
B4=20:30 ;
%% join them into array
B = [B1 B2 B3 B4] ;
iwant{count} = B ;
end
您可以使用 end
关键字
% Initialise empty cell array
A = {};
while *condition*
% Create B using some calculation (different each loop)
B = [1 2 3];
% Other code ...
% Assign to array
A{end+1} = B;
end
我有一些算法,包括 while
循环:
while (condition)
% do something and return a result array B
end
假设:
-Loop 1: B1=[1 2 3 4 5....9];
-Loop 2: B2=[10 11 12....15];
-Loop 3: B3=[16 17 18 19] ;
-Loop 4: B4=[20 21 22....30];
如何在循环结束后创建一个单元格A={B1,B2,B3,B4}
?
对于我的真实数据,while
循环可能循环了100次或更多,以上是一个简化。
您可以使用 horzcat 或 [] 加入数组。然后初始化一个单元格并将它们保存到那个单元格中。
%% loop
count = 0 ;
iwant = cell([],1) ;
while .....
count = count+1 ;
%% let be your arrays
B1=1:9 ;
B2=10:15 ;
B3=16:19 ;
B4=20:30 ;
%% join them into array
B = [B1 B2 B3 B4] ;
iwant{count} = B ;
end
您可以使用 end
关键字
% Initialise empty cell array
A = {};
while *condition*
% Create B using some calculation (different each loop)
B = [1 2 3];
% Other code ...
% Assign to array
A{end+1} = B;
end