ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

構文

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);

参考

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