Borrar filtros
Borrar filtros

compensate vector into same length

2 visualizaciones (últimos 30 días)
mingcheng nie
mingcheng nie el 31 de Dic. de 2022
Comentada: mingcheng nie el 3 de En. de 2023
if we have multiple vectors, A,B,C. Each of them has different length. How can we compensate them by NaN into same length and store them as a matrix.

Respuesta aceptada

Stephen23
Stephen23 el 31 de Dic. de 2022
The simplest approach is to download the function PADCAT() here:
and use it like this:
M = padcat(A,B,C)
  3 comentarios
Stephen23
Stephen23 el 31 de Dic. de 2022
Editada: Stephen23 el 31 de Dic. de 2022
"For example, I have a loop for 4 times, within each loop I will get a vector, then I need to compensate the vector with NaN within that loop; then in next loop I will have new vector to compensate."
How will you know what length to pad to, if you do not have all of the vectors?
I suspect that you could simply store all of the vectors in a cell array, and then supply them to PADCAT after the loop. This would likely be the simplest approach:
N = 4;
C = cell(1,N); % preallocate!
for k = 1:N
V = your code that generates a vector;
C{k} = V;
end
M = padcat(C{:})
mingcheng nie
mingcheng nie el 3 de En. de 2023
Yes you are right and your solution is the straightforward and simple!!! Thanks Stephen, it really helps me!!!!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by