How can I make multiple cell array sizes the same

2 visualizaciones (últimos 30 días)
Kafayat Olayinka
Kafayat Olayinka el 9 de Feb. de 2019
Comentada: madhan ravi el 15 de Feb. de 2019
I'm working with a cell array,time which has 1by4 cell. i.e time= 1 by 4 cell arrays. Each cell has differnt sizes. i.e
time{1,1}=2800 by 1
time{1,2}=1800 by 1
time{1,3}= 3099 by 1
time{1,4}= 2872 by 1
How can I make all time {1,i} size the same. i.e
time{1,i}= 3099 by 1
  2 comentarios
madhan ravi
madhan ravi el 9 de Feb. de 2019
Do you want to pad with trailing zeros?

Iniciar sesión para comentar.

Respuesta aceptada

madhan ravi
madhan ravi el 9 de Feb. de 2019
A=max(cellfun(@length,time));
Result=cellfun(@(x) [x;zeros(A-numel(x),1)] ,time ,'un',0)
  4 comentarios
Kafayat Olayinka
Kafayat Olayinka el 14 de Feb. de 2019
what if I want
b{1,1}=667 by 2800 (where b is a height by time array)
b{2,1}=667 by 1800
b{3,1}= 667 by 3099
b{4,1}= 667 by 2872
How can I make all b {i,1} size the same. i.e
b{i,1}= 667 by 3099
madhan ravi
madhan ravi el 15 de Feb. de 2019
A=max(cellfun(@(x)size(x,2),b));
Result=cellfun(@(x) [x zeros(size(x,1),A-size(x,2),1)] ,b ,'un',0)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Cell Arrays 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!

Translated by