Info

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

How can i store data in a cell array with single row and few number of columns?

1 view (last 30 days)
Assuming i want to store calculations from a structure array using for loop of size 20 which is equvalent to the number of fields in my structure array.
How can i represent my calculation in cell array ACC{} of a single row and 20 columns?
for a=1:20
ACC{a,1}=Pcount{a,1}.A/length(Pseq)
ACC{a,1}=Pcount{a,1}.R/length(Pseq)
ACC{a,1}=Pcount{a,1}.N/length(Pseq)
ACC{a,1}=Pcount{a,1}.D/length(Pseq)
ACC{a,1}=Pcount{a,1}.C/length(Pseq)
ACC{a,1}=Pcount{a,1}.Q/length(Pseq)
ACC{a,1}=Pcount{a,1}.E/length(Pseq)
ACC{a,1}=Pcount{a,1}.G/length(Pseq)
ACC{a,1}=Pcount{a,1}.H/length(Pseq)
ACC{a,1}=Pcount{a,1}.I/length(Pseq)
ACC{a,1}=Pcount{a,1}.L/length(Pseq)
ACC{a,1}=Pcount{a,1}.K/length(Pseq)
ACC{a,1}=Pcount{a,1}.M/length(Pseq)
ACC{a,1}=Pcount{a,1}.F/length(Pseq)
ACC{a,1}=Pcount{a,1}.P/length(Pseq)
ACC{a,1}=Pcount{a,1}.S/length(Pseq)
ACC{a,1}=Pcount{a,1}.T/length(Pseq)
ACC{a,1}=Pcount{a,1}.W/length(Pseq)
ACC{a,1}=Pcount{a,1}.Y/length(Pseq)
ACC{a,1}=Pcount{a,1}.V/length(Pseq)
end

Answers (1)

per isakson
per isakson on 3 May 2020
Pre-allocate ACC before the for-loop
ACC = cell( 1, 20 );
replace all ACC{a,1} by ACC{a}
  7 Comments
per isakson
per isakson on 3 May 2020
We posted comments simultaneously.
In your for-loop, which I proposed, the twenty statements overwrite ACC{a}. It's only the value of the last statement that persists.
It's a bit difficult to understand snippets of code with a lot of cell arrays, since the cells may contain anything.

This question is closed.

Community Treasure Hunt

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

Start Hunting!