Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

How can i convert 160by1 column vector into 16by145 such that first column contain 1 to 16 and second column 2 to 17 and so on?

2 visualizaciones (últimos 30 días)
i have 160x1 column vector. i have to convert that into matrix form such that first column contain 1 to 16 and second coulumn contain 2 to 17 and so on

Respuestas (2)

Alejandro Peñuelas
Alejandro Peñuelas el 30 de Mayo de 2020
Editada: Alejandro Peñuelas el 30 de Mayo de 2020
With a for loop you can iterate over the index you want to start each row of the new matrix. Something like this:
% Original vector
vec = (1:160)';
% Matrix creation
mat = zeros(145, 16);
rowSize = 16;
for i = 1:145
mat(i,:) = i:i+rowSize-1;
end
% Transpose the new matrix
mat = mat';
The '-1' is to avoid the overflow of the indexes.
Hope this help you.

Walter Roberson
Walter Roberson el 30 de Mayo de 2020
If you have the communications toolbox, then you can use
temp = buffer(YourVector, 16, 15);
out = temp(:,16:end);

La pregunta está cerrada.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by