Compile multiple cells in a single vector including empty cells as zero elements.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have this as input
H = [] [] [5] [] [3]
and I want
H = [0 0 5 0 3]
as output.
Please help!
2 Kommentare
Michael Soskind
am 6 Mai 2020
I will provide a very naive method here. Maybe someone has a better solution.
H = {[],[],5,[],3}; % original array
for i = 1:size(H,1) % loop through rows (1)
for j = 1:size(H,2) % loop through columns (5)
if isempty(H{i,j})
H{i,j} = [0]; % if empty, replace the empty array with zero
end
end
end
H_new = cell2mat(H) % convert cell to matrix
You could use a temporary cell array if you do not want to modify the original cell array H.
Antworten (1)
Voss
am 14 Dez. 2023
H = { [] [] [5] [] [3] } % original array
H(cellfun(@isempty,H)) = {0} % if empty, replace the empty array with zero
H = [H{:}] % convert cell to matrix
0 Kommentare
Siehe auch
Kategorien
Mehr zu Data Types 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!