How to store data whose dimension varies at each steps of run?
1 次查看(过去 30 天)
显示 更早的评论
I have a program, let say it runs for N times. So say b=1:N. Now at each iteration I get an array A whose size varries in the order of 1 by M where M is unknown (created by the nature of the pogramme). M changes with the change of iteration. Now my question is how to store this type of inodrmation in the following format or any other. For example,
b data
1 1
2 1 2 3
3 1 4 5 6
4 8
and so
0 个评论
采纳的回答
Scott MacKenzie
2021-6-8
This is a bit long-winded (and can surely be shortened), but I think it achieves what you are looking for:
N = 8; % iterations
M = 5; % array size varies from 1 to 5 randomly in each iteration
% save the data in cell array C
C = {};
for b=1:N
% generate the numbers for this iteration (numbers and array size varies)
A = randi(9,1,randi([1 M]));
% convert numbers to cell array and store in C
C{b} = num2cell(A);
end
% we're done (data in C)
% output the data saved
fprintf('%2s %5s\n', 'b', 'data');
for i=1:N
fprintf('%2d ', i);
fprintf('%d ', cell2mat(C{i}));
fprintf('\n');
end
Output:
b data
1 6 7 6
2 7 8
3 1 2 3 1
4 9 4 8 3
5 2 4 6
6 4
7 6
8 2 8 3 1 7
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!