convert cell to array

4 visualizzazioni (ultimi 30 giorni)
NA
NA il 15 Feb 2019
Commentato: VBBV il 2 Feb 2023
I have
A={[1;95;110],[58;78;80;110;111;112],[58;59;79;110;112;113],[64;83;84;85;90;112;113],[112],[0],[0],[116]};
C = cellfun(@(x)x(x~=0),A,'uni',false);
I want to conver this cell to array, result should be:
result=[1;95;110;58;78;80;110;111;112;58;59;79;110;112;113;64;83;84;85;90;112;113;112;116]
I tried to use cell2mat(A) but have this error
Error using cat
Dimensions of arrays being concatenated are not consistent.
Error in cell2mat (line 75)
m{n} = cat(2,c{n,:});

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 15 Feb 2019
out = cat(1,A{:});
out = out(out ~= 0);
  2 Commenti
Badreddine Alane
Badreddine Alane il 27 Gen 2020
Thank you so much for the help.
VBBV
VBBV il 2 Feb 2023
A={[1;95;110],[58;78;80;110;111;112],[58;59;79;110;112;113],[64;83;84;85;90;112;113],[112],[0],[0],[116]}
A = 1×8 cell array
{3×1 double} {6×1 double} {6×1 double} {7×1 double} {[112]} {[0]} {[0]} {[116]}
B = A{:} % why do i get only the first element of cell array ?
B = 3×1
1 95 110
B = A(:) % this does not have problem
B = 8×1 cell array
{3×1 double} {6×1 double} {6×1 double} {7×1 double} {[ 112]} {[ 0]} {[ 0]} {[ 116]}
why does the parenthetical referencing with { : } return only the first element of cell array ? but it does not occur with ( : )

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Cell Arrays 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!

Translated by