MATLABで特別な行列を作成する関数
📂プログラミングMATLABで特別な行列を作成する関数
ゼロ行列
zeros(): ゼロ行列を返す。zeros(n): $n\times n$ ゼロ行列を返す。zeros(m,n): $n\times m$ ゼロ行列を返す。zeros(size(A)): 行列Aと同じ大きさのゼロ行列を返す。
全要素が1の行列
ones(): 全要素が1の行列を返す。ただし、二つの行列の間の演算のためには、そのまま1を使う方が便利だ。誰が見ても下のコードの方がずっとシンプルだ。ones(n): 全要素が1の$n\times n$ 行列を返す。ones(m,n): 全要素が1の$n\times m$ 行列を返す。ones(size(A)): 行列Aと同じ大きさの全要素が1の行列を返す。
A=[1 2 3; 4 -2 3; 5 3 7]
ones(size(A))./A
1./A

単位行列
eye(): 単位行列を返す。eye(n): $n\times n$ 単位行列を返す。eye(m,n): $n\times m$ 単位行列を返す。eye([m,n]): 主対角線の成分が1で、その他の成分は0の$n\times m$ 単位行列を返す。eye(n,'like',A): 行列Aと同じデータタイプの$n\times n$ 単位行列を返す。つまり、Aが複素行列であれば、複素単位行列を返す。サイズを指定しなければ、Aと同じ大きさの行列を返す。
eye([2,3])
eye(3,6)
A=[1+i 3-i]
eye(3, 'like', A)
eye(3,4 'like', A)

乱数
rand(): 0から1の間でランダムに1つの乱数を返す。各数が引かれる確率はすべて同じだ。マトラブ公式ホームページで「一様に分布した乱数」という説明は、これを意味する。rand(n): 0から1の間の乱数で構成された$n\times n$ 行列を返す。rand(m,n): 0から1の間の乱数で構成された$m\times n$ 行列を返す。rand(n,'like',A): 行列Aと同じデータタイプの乱数で構成された$n\times n$ 行列を返す。つまり、Aが複素行列であれば、複素行列を返す。サイズを指定しなければ、Aと同じ大きさの行列を返す。