Vectors merging dynamically

1 visualizzazione (ultimi 30 giorni)
Raviteja
Raviteja il 10 Set 2011
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...

Risposte (2)

Andrei Bobrov
Andrei Bobrov il 10 Set 2011
TRPfeat = cell2mat(cellfun(@(x)crqa(x,[],[],[],threshold),A(:),'un',0))

Jan
Jan il 12 Set 2011
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.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by