Info
This question is closed. Reopen it to edit or answer.
cell array concept issue
1 view (last 30 days)
Show older comments
Sir I have an issue on cell array concept.
I want to generate 10 values using a for loop of 10 iteration and in every iteration it will give a single value.
I want to store all values in a single cell one by one value in every iteration.
Is it possible?
If Yes then please give a suggestion.
0 Comments
Answers (1)
Stephan
on 3 Mar 2019
Edited: Stephan
on 3 Mar 2019
Hi,
in general no for loop is needed. See the following 2 examples how you could proceed in a simple example:
% 10 random values stored in a
a=randperm(10)
% every value of a in a single cell
b = num2cell(a)
% get the 5th entry of b
content_b_5 = b{5}
% get the whole content of b
content_b_all = cell2mat(b)
% all values of a in one cell as array
c = {a}
% get the 7th entry of c
content_c_7 = c{1}(7)
% get the whole content of c
content_c_all = c{:}
If you want to proceed in a for loop (which is usually not needed) you could use
% preallocate cell array
d = cell(1,numel(a));
% loop through
for k = 1:numel(a)
d{k} = a(k);
end
% show d
d
As you can see it is the same result as for creating b, but less efficient and more code to write.
Best regards
Stephan
2 Comments
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!