Info

此问题已关闭。 请重新打开它进行编辑或回答。

cell array concept issue

1 次查看(过去 30 天)
AKHILA GOUDA
AKHILA GOUDA 2019-3-3
关闭: MATLAB Answer Bot 2021-8-20
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.

回答(1 个)

Stephan
Stephan 2019-3-3
编辑:Stephan 2019-3-3
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 个评论
Stephan
Stephan 2019-3-3
right you are - thanks for the hint

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by