Create a vector with the non-zero indices of a cell array
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alberto Acri
el 26 de Jul. de 2023
Respondida: Dyuman Joshi
el 26 de Jul. de 2023
I have a cell array. I need to create a column vector that returns the non-empty row indices.
I have tried this way but there is something to improve.
idx = find(~cellfun(@isempty,matrix),1);
% idx = [2;4]; % this is the result I need to get
0 comentarios
Respuesta aceptada
Dyuman Joshi
el 26 de Jul. de 2023
%Random data
y = {[],[];[] repmat({rand},3,3); [] []; repmat({rand},4,3) []}
%Find if all cells in a row are empty or not and then negating
z1 = ~all(cellfun('isempty', y),2)
idx1 = find(z1)
Another approach using any() instead of all() -
%Find if any cells in a row are not empty
z2 = any(~cellfun('isempty', y),2)
idx2 = find(z2)
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!