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

34 次查看(过去 30 天)
MathWorks Support Team
空行列はどういうときに有効活用できますか?

采纳的回答

MathWorks Support Team
通常、行列は複数の次元から成りますが、空行列は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 CenterFile Exchange 中查找有关 数値型 的更多信息

标签

尚未输入任何标签。

产品

Community Treasure Hunt

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

Start Hunting!