How to pad NaNs in a matrix having small size to make equivalent with matrix of large size?

40 views (last 30 days)
Hi there,
Suppose I have given matrices A= [1 2 3; 4 5 6; 7 8 9] and B=[1 2; 3 4]. Now, I just wanted to pad NaNs in matrix B to make equal size to that of A. Your help will be greatly appreciated.
Thank you in advance.

Accepted Answer

Voss
Voss on 12 Jun 2022
A = [1 2 3; 4 5 6; 7 8 9];
B = [1 2; 3 4];
[ma,na] = size(A);
[mb,nb] = size(B);
% one way:
B_new = [B NaN(mb,na-nb); NaN(ma-mb,na)]
B_new = 3×3
1 2 NaN 3 4 NaN NaN NaN NaN
% another way:
B_new = NaN(ma,na);
B_new(1:mb,1:nb) = B
B_new = 3×3
1 2 NaN 3 4 NaN NaN NaN NaN

More Answers (1)

Jan
Jan on 12 Jun 2022
A = [1 2 3; 4 5 6; 7 8 9];
B = [1 2; 3 4];
C = padarray(B, max(0, size(A) - size(B)), NaN, 'post')
C = 3×3
1 2 NaN 3 4 NaN NaN NaN NaN

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!