フィルターのクリア

How to add rows containing zeros to a matrix

56 ビュー (過去 30 日間)
Dr Sohaib Khan
Dr Sohaib Khan 2023 年 7 月 27 日
コメント済み: Dr Sohaib Khan 2023 年 7 月 28 日
I have a "2x101" matrix, I want to add 4 rows to it, containing "zeros" to make it "6x101" matrix.
Please if anyone could guide me on syntax. Thankyou.

採用された回答

Cris LaPierre
Cris LaPierre 2023 年 7 月 27 日
A = rand(2,6)
A = 2×6
0.8131 0.2963 0.1224 0.8259 0.2399 0.5947 0.7303 0.1732 0.9839 0.2746 0.6453 0.7036
A(3:4,:)=0
A = 4×6
0.8131 0.2963 0.1224 0.8259 0.2399 0.5947 0.7303 0.1732 0.9839 0.2746 0.6453 0.7036 0 0 0 0 0 0 0 0 0 0 0 0
  1 件のコメント
Dr Sohaib Khan
Dr Sohaib Khan 2023 年 7 月 28 日
BiG FAT Thankyou :) Cris

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

その他の回答 (3 件)

Voss
Voss 2023 年 7 月 28 日
Here's one way:
% a 2x101 matrix
a = rand(2,101)
a = 2×101
0.2749 0.6630 0.7375 0.2538 0.1755 0.5986 0.1725 0.4662 0.3609 0.7840 0.8763 0.3446 0.3603 0.8626 0.2283 0.1468 0.3254 0.3290 0.3960 0.4185 0.1099 0.0486 0.0626 0.7403 0.6850 0.4095 0.8703 0.1152 0.5754 0.7633 0.8014 0.8300 0.6248 0.5979 0.5868 0.4567 0.0246 0.0519 0.1590 0.1996 0.5126 0.0511 0.1397 0.9698 0.5512 0.3256 0.6557 0.6494 0.0743 0.7528 0.8313 0.6114 0.4597 0.6038 0.5030 0.9302 0.4747 0.8711 0.4699 0.2633
% append 4 rows of zeros
a = [a; zeros(4,size(a,2))]
a = 6×101
0.2749 0.6630 0.7375 0.2538 0.1755 0.5986 0.1725 0.4662 0.3609 0.7840 0.8763 0.3446 0.3603 0.8626 0.2283 0.1468 0.3254 0.3290 0.3960 0.4185 0.1099 0.0486 0.0626 0.7403 0.6850 0.4095 0.8703 0.1152 0.5754 0.7633 0.8014 0.8300 0.6248 0.5979 0.5868 0.4567 0.0246 0.0519 0.1590 0.1996 0.5126 0.0511 0.1397 0.9698 0.5512 0.3256 0.6557 0.6494 0.0743 0.7528 0.8313 0.6114 0.4597 0.6038 0.5030 0.9302 0.4747 0.8711 0.4699 0.2633 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1 件のコメント
Dr Sohaib Khan
Dr Sohaib Khan 2023 年 7 月 28 日
BiG FAT Thankyou :) Voss

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


Les Beckham
Les Beckham 2023 年 7 月 27 日
Here is another way.
A = rand(2,6)
A = 2×6
0.5677 0.5655 0.2207 0.5221 0.5033 0.0094 0.1184 0.9091 0.7727 0.4403 0.6020 0.3454
A(4,6) = 0
A = 4×6
0.5677 0.5655 0.2207 0.5221 0.5033 0.0094 0.1184 0.9091 0.7727 0.4403 0.6020 0.3454 0 0 0 0 0 0 0 0 0 0 0 0
  1 件のコメント
Dr Sohaib Khan
Dr Sohaib Khan 2023 年 7 月 28 日
BiG FAT Thankyou :) Beckham

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


James Tursa
James Tursa 2023 年 7 月 27 日
編集済み: James Tursa 2023 年 7 月 27 日
E.g., one way using the end syntax:
my_matrix = reshape(1:12,3,4)
my_matrix = 3×4
1 4 7 10 2 5 8 11 3 6 9 12
n = 4; % number of rows to append
my_matrix(end+n,1) = 0
my_matrix = 7×4
1 4 7 10 2 5 8 11 3 6 9 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Basically, setting any element in the 4th row beyond the current last row will cause MATLAB to append 4 rows of 0's to the matrix and set the particular element. I.e., MATLAB will dynamically increase the size of the matrix to accomodate the element you are trying to set, and all of the elements you don't set in the process are automatically set to 0's. In the above example, I set the (7,1) element to 0 explicitly, and MATLAB filled in all the other elements in the newly created four rows to 0's automatically.
  1 件のコメント
Dr Sohaib Khan
Dr Sohaib Khan 2023 年 7 月 28 日
Understood Great Help :) James Thankyou :)

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

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品


リリース

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by