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

40 次查看(过去 30 天)
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.

采纳的回答

Voss
Voss 2022-6-12
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

更多回答(1 个)

Jan
Jan 2022-6-12
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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by