Cell Array to Matrix but keep zeros
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Stephen23
il 3 Mar 2017
Modificato: Stephen23
il 3 Mar 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
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical 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!