Vectors merging dynamically

I have the following code
1 for i=1:Lev
2 R=A{i};
3 UTRP = crqa(R,[],[],[],threshold);
4 TRPfeat=[TRPfeat; UTRP];
5 UTRP=0;
6 end
In line 4, I am increment row of a matrix dynamically as loop increases.
Is there any other efficient way to do this? I need fast calculation, because the above code taking long time to execute...

Respuestas (2)

Andrei Bobrov
Andrei Bobrov el 10 de Sept. de 2011

0 votos

TRPfeat = cell2mat(cellfun(@(x)crqa(x,[],[],[],threshold),A(:),'un',0))
Jan
Jan el 12 de Sept. de 2011

0 votos

C = cell(1, Lev);
for i = 1:Lev
C{i} = crqa(A{i}, [], [], [], threshold);
end
TRPfeat = cat(2, C{:});
If Lev is large, the missing pre-allocation in CAT matters. Then use FEX: Cell2Vec.mex.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 10 de Sept. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by