Info

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

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

1 次查看(过去 30 天)
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

回答(1 个)

per isakson
per isakson 2020-5-3
Pre-allocate ACC before the for-loop
ACC = cell( 1, 20 );
replace all ACC{a,1} by ACC{a}
  7 个评论
per isakson
per isakson 2020-5-3
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.

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by