Cell Array to Matrix but keep zeros
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello! So my problem is that I have a tridiagonal cell array, say
x y z [] [] []
[] x y z [] []
[] [] x y z []
[] [] [] x y z
Where each tridiagonal element (x, y, and z) is a 2x2 matrix. I want to use the cell2mat function to create a matrix and make each cell array [] element a 2x2 matrix of zeros (so [] -> [0 0;0 0]). So I would end up going from a NxN cell array to a 4Nx4N matrix. When I use cell2mat, however, the []'s are removed and the matrix becomes disordered. Could anyone suggest a tip to make this conversion possible? Thank you! (and thanks for reading, either way)
0 Kommentare
Akzeptierte Antwort
Stephen23
am 3 Mär. 2017
Bearbeitet: Stephen23
am 3 Mär. 2017
Where C is your cell array:
C(cellfun('isempty',C)) = {[0,0;0,0]};
out = cell2mat(C);
Here is a complete working simplified example:
>> C = {[1,2;3,4],[];[],[5,6;7,8]};
>> C(cellfun('isempty',C)) = {[0,0;0,0]};
>> cell2mat(C)
ans =
1 2 0 0
3 4 0 0
0 0 5 6
0 0 7 8
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!