필터 지우기
필터 지우기

compensate vector into same length

조회 수: 2 (최근 30일)
mingcheng nie
mingcheng nie 2022년 12월 31일
댓글: mingcheng nie 2023년 1월 3일
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.

채택된 답변

Stephen23
Stephen23 2022년 12월 31일
The simplest approach is to download the function PADCAT() here:
and use it like this:
M = padcat(A,B,C)
  댓글 수: 3
Stephen23
Stephen23 2022년 12월 31일
편집: Stephen23 2022년 12월 31일
"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 2023년 1월 3일
Yes you are right and your solution is the straightforward and simple!!! Thanks Stephen, it really helps me!!!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by