How can I reshape single column vector list into equally sized matrix columns
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
lil brain
el 9 de En. de 2022
Comentada: lil brain
el 9 de En. de 2022
Hi,
I have a single column vector variable with a list of 26599 elements. I want to reshape this list into a matrix of equally sized columns of 512. The issue is that the number 26599 isn't divisible by 512 and so I get an error. Hence, I want to reshape the vector into matrix colums where all columns have the size of 512 except for the last one.
How would I go about doing this?
I tried the reshape function but that didnt work because of the issue mentioned above.
>> R = reshape(sample_test,512,[]);
Error using reshape
Product of known dimensions, 512, not divisible into total number of elements, 26599.
Thank you!
0 comentarios
Respuesta aceptada
Voss
el 9 de En. de 2022
You can't have a matrix with different size columns, but you could fill the last column with NaNs:
sample_test = ones(520,1);
% append NaNs to sample_test up to the next multiple of block_size
block_size = 512;
N = block_size*ceil(numel(sample_test)/block_size);
sample_test(end+1:N) = NaN;
R = reshape(sample_test,512,[])
5 comentarios
Voss
el 9 de En. de 2022
You can make sample_test a column vector like this:
sample_test = sample_test(:);
and then use my code on that.
Ver también
Categorías
Más información sobre Matrices and 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!