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
  2 件のコメント
Sushil Pokharel
Sushil Pokharel 2022 年 6 月 12 日
@Voss, thank you so much for your help. This is exactly what I wanted; I really appreciate your time and help.

サインインしてコメントする。

その他の回答 (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 Center および File ExchangeLogical についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by