- deliberately returning a cell array when the results would fit in a vector
- passing multiple cell arrays in to cellfun(), knowing that the corresponding elements will be extracted from each and passed to the function handle
normalization of cell arrays
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi
i want to normalize the values in a cell array called G
G is partitioned into 6 blocks (cell arrays) so i want to normalize each block separately (G{i,j}), each block is of size 128X128
Gmin = min((G(:)));
Gnorm = (G - Gmin) ./ (max(G1{:,:}) - Gmin);
i tried this:
Gmin(i,j)=min(G{i,j});
but i got this error:
??? Undefined function or method 'min' for input arguments of type 'cell'.
Error in ==> DOC at 124
Gmin(i,j)=min(G{i,j});
any suggestions please ???
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 6 Jan. 2012
Gmin = cellfun(@(M) min(M(:)), G, 'Uniform', 0);
Gmax = cellfun(@(M) max(M(:)), G, 'Uniform', 0);
Gnorm = cellfun(@(M,minM,maxM) (M-minM) ./ (maxM-minM)), G, Gmin, Gmax, 'Uniform', 0);
This relies on two uncommon usages:
There are other ways of coding this, such as using arrayfun()
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical 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!