空行列はどういうときに有効活用できますか?

36 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2017 年 3 月 24 日
回答済み: MathWorks Support Team 2017 年 3 月 24 日
空行列はどういうときに有効活用できますか?

採用された回答

MathWorks Support Team
MathWorks Support Team 2017 年 3 月 24 日
通常、行列は複数の次元から成りますが、空行列は1つ以上の次元はゼロになります。
言い換えると、空行列は、必ず複数の次元を持たないことを意味します。
実際に表現することは難しいですが、記述上有効活用可能です。
最も単純な 0x0 の行列を MATLAB で [] と表現し、
double 型のその他の空行列を zeros 関数を用いて記述できます。
よく利用される用途として、
(1)配列の要素の削除および
(2)動的にサイズを変化する変数(次元)の初期化
が挙げられます。特に(2) の初期化に関しまして、
配列の全ての次元のサイズが事前に分かっている場合、
zeros で事前割り当てを行うことが通例と思いますが、
(while 分などで動的に決まる場合など)そうでない場合もありますので、
そのような場合においてから行列を利用することがあります。
%
A = (1:9)
A(2) = []
% 結果:
% A =
%      1     3     4     5     6     7     8     9
%
rng default
B = zeros(2, 0);
count = 0;
    while count < 10 % ここでは 10 としていますが、計算の結果で決まる場合などサイズが変更される想定になります
    B = [B, randi([0, 10], 2, 1)];
    count = count + 1;
end
% 結果:
% B =
%     8     1     6     3    10     1    10     8     4     8
%     9    10     1     6    10    10     5     1    10    10
 

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange数値型 についてさらに検索

タグ

タグが未入力です。

製品

Community Treasure Hunt

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

Start Hunting!