How to reference values in cell array containing matrices
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a cell in which each element is a matrix. I would like to extract a vector containing all the matrices' entries for row 5, column 4. Is this possible, without having to loop through the matrices and extract the value? Here's an example,
% Create the cell array
for iMatrix = 1:10
a{iMatrix} = rand(12, 13); % Each element of this cell array is a matrix
end
iRow = 5; iCol = 4; % Indices to the value to extract from each matrix
% Unsuccessful attempts
a{:}(iRow,iCol)
Expected one output from a curly brace or dot indexing expression, but there were 10 results.
a(:)(iRow,iCol)
Error: ()-indexing must appear last in an index expression.
a(iRow,iCol)
Index exceeds matrix dimensions.
0 Commenti
Risposta accettata
Star Strider
il 18 Gen 2018
Use cellfun.
This seems to work:
% Create the cell array
for iMatrix = 1:10
DisplayMatrix = rand(12, 13)
a{iMatrix} = DisplayMatrix; % Each element of this cell array is a matrix
end
iRow = 5; iCol = 4; % Indices to the value to extract from each matrix
Extracted = cellfun(@(x) x(iRow,iCol), a) % Desired Result
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!