ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

rank

行列のランク

構文

k = rank(A)
k = rank(A,tol)

説明

関数 rank は、非スパース行列の線形独立な行数または列数を求めます。

k = rank(A) は、既定の許容誤差 max(size(A))*eps(norm(A)) よりも大きい A の特異値の数を返します。

k = rank(A,tol) は、tol よりも大きい A の特異値の数を返します。

詳細

すべて折りたたむ

ヒント

スパース行列の構造的なランクを求めたい場合は、関数 sprank を使用してください。

アルゴリズム

行列のランクを計算するには、さまざまな方法があります。MATLAB® ソフトウェアでは、特異値分解 (SVD) をベースにした方法を使用します。SVD アルゴリズムは多くの処理時間を必要としますが、信頼性は非常に高いものです。

rank アルゴリズムは以下になります。

s = svd(A);
tol = max(size(A))*eps(max(s));
r = sum(s > tol);

参考

R2006a より前に導入

この情報は役に立ちましたか?