I am getting "cell array.png' cell array. Now I want to divide each cell equally to 20 partitions
Can I divide a linear array by a number which larger than its size ?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am having a cell array. Each element of the cell array is a linear array . These arrays are of different sizes. when diving each array to some equal parts then I am not getting consistent parts. Suppose I want to divide each cell array by 20. When the size is greater than 20 then its ok. but when less than 20 then I am not getting any consistent parts. I want to divide each linear array to 20 equal parts. whatever the size is I dont want any padding of values. If the array size is 1×17 and diving with 20 will give 20 equal parts . The partition size will be less than 1. How can I do this ?
2 comentarios
Image Analyst
el 16 de Mzo. de 2019
Unless you want to do some interpolation/resizing, you can't because each array in each cell is not a multiple of 20.
Respuestas (2)
KSSV
el 16 de Mzo. de 2019
You interpolate your data into your desired size and then reshape. Read about interp1.
Walter Roberson
el 16 de Mzo. de 2019
Next20 = @(V) ceil(length(V)/20) * 20;
Interp20 = @(V) interp1(V, linspace(1, length(V), Next20(V)));
Split20 = @(V) mat2cell(V, 1, 20*ones(1, length(V)/20));
new_cell = cellfun( @(V) Split20(Interp20(V)), cell_array, 'Uniform', 0);
8 comentarios
Image Analyst
el 17 de Mzo. de 2019
Attach your m-file with the paper clip icon so we can solve this.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!