Info

This question is closed. Reopen it to edit or answer.

cell array concept issue

1 view (last 30 days)
AKHILA GOUDA
AKHILA GOUDA on 3 Mar 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
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.

Answers (1)

Stephan
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
Stephan
Stephan on 3 Mar 2019
right you are - thanks for the hint

This question is closed.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!