preallocation
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hey guys, i am new at MATLAB, I have problem in preallocating the space for the variable'M' in the following statement:
for i=1:10000
M(i-1)=im2frame(int8(fg),gray(256));
I don't know what is the diminsion of this structure or the statement for preallocating space for M
0 commentaires
Réponse acceptée
Walter Roberson
le 3 Juin 2012
A "frame" is a structure with the fields "cdata" and "colormap"
You should be able to preallocate with
M(10000) = struct('cdata', {[]}, 'colormap', {[]} );
Caution: in your code, you try to store into M(i-1) when "i" starts at 1. That is going to try to store into M(0) which is not a valid index for MATLAB arrays: indices must be at least 1
4 commentaires
Walter Roberson
le 3 Juin 2012
T1 = arrayfun( @(S) size(S.cdata), M, 'Uniform', 0);
T2 = cell2mat(T1(:));
T3 = unique(T2, 'rows');
T4 = size(T3,1);
fprintf(1, 'You have %d different sizes of frames\n', T4);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Orange dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!