how to access cell array data with single for loop

3 Ansichten (letzte 30 Tage)
singh
singh am 27 Apr. 2015
two cell array like
A={1,2,3,4,5} %cell array
B={11,12,13,14,15} %cell array
for i=1:length(A)
C %variable
D %variable
end
in first iteration C take 1 from A and D take 11 from B
second iteration C take 2 from A and D take 12 from B
So on
use only single for loop
  2 Kommentare
Stephen23
Stephen23 am 27 Apr. 2015
Bearbeitet: Stephen23 am 27 Apr. 2015
Why are these values in cell arrays anyway? Unless you have mixed data types or different sizes, just use a simple numeric array to store those values.
Also note that, depending on what operations you need to perform, the entire loop might be able to be replaced with vectorized code. If you show us what the operations are inside the loop, then we could show you if this can be simplified by vectorization.
singh
singh am 27 Apr. 2015
i have some problem because actual cell array value is below
A{:}
17
6 11
1 9
B{:}
1 9
6 11
17

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

per isakson
per isakson am 27 Apr. 2015
Bearbeitet: per isakson am 27 Apr. 2015
C = cell( size(A));
D = cell( size(B));
for ii=1:length(A)
C(ii) = A(ii);
D(ii) = B(ii);
end
&nbsp
Addendum
Without the loop - vectorized
C = A;
D = B;
  4 Kommentare
DEEPAK PHCSFI17041149
DEEPAK PHCSFI17041149 am 29 Nov. 2017
Thanks for the guidance Isak.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Michael Haderlein
Michael Haderlein am 27 Apr. 2015
You mean like
for cnt=1:length(A)
C=A{cnt};
D=B{cnt};
end
Actually, there is no need for cell arrays here. In case this is just a simplified example and A and B will be of different kind in your final program, it's fine. Otherwise, I would make A and B just normal double arrays.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by