Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

cell array concept issue

1 visualizzazione (ultimi 30 giorni)
AKHILA GOUDA il 3 Mar 2019
Chiuso: MATLAB Answer Bot il 20 Ago 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.

Risposte (1)

Stephan il 3 Mar 2019
Modificato: Stephan il 3 Mar 2019
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
% 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);
% show d
As you can see it is the same result as for creating b, but less efficient and more code to write.
Best regards
  2 Commenti
madhan ravi
madhan ravi il 3 Mar 2019
content_c_all = c{:}
Stephan il 3 Mar 2019
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