How can I add variable amount of padding to each column in my matrix?
조회 수: 6 (최근 30일)
이전 댓글 표시
So suppose I have a matrix, which has 4 columns and 10 rows. (10 by 4). I want to introduce 1 zero at the beginning in column 1, 2 zeros at the beginning in column 2, 3 zeros at the beginning in column 3 and 4 zeros at the beginning in column 4. Is there a way to manipulate padarray to allow me to introduce variable number of zeros like this?
any help appreciated!!
댓글 수: 0
채택된 답변
Jon
2020년 3월 17일
편집: Jon
2020년 3월 17일
Try
Apad = tril(A,-1)
댓글 수: 7
Jon
2020년 3월 24일
Hi Zuha, Sorry I haven't been on MATLAB answers for awhile. Just saw your follow up question. Here's one way to do what you are asking. Maybe there is a clever way to vectorize this and avoid the loop, but I think this will do the job. Be well
% example matrix to be padded
A = [2 5 8 11 14 17 20 23;
3 6 9 12 15 18 21 24;
4 7 10 13 16 19 22 25];
disp(A)
% define padding
nPad = [0 1 2 1 1 2 0 1]% npad(k) specifies number of zeros to pad the kth column in A
%loop to pad each column
for k = 1:length(nPad)
if nPad(k) > 0 % check if it needs padding
A(1:nPad(k),k) = 0;
end
end
disp(A)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
