MATLAB ヘルプ センター
条件数の逆数
C = rcond(A)
C = rcond(A) は 1 ノルムでの A の条件数の推定逆数を返します。A が良条件の場合、rcond(A) は 1.0 に近くなります。A が悪条件の場合、rcond(A) は 0 に近くなります。
C
A
rcond(A)
例
すべて折りたたむ
悪条件の行列の感度を調べます。
対称で正定値であるが悪条件である行列として有名なものに、ヒルベルト行列があります。ヒルベルト行列の要素は H(i,j)=1/(i+j-1) で表されます。
10 行 10 列のヒルベルト行列を作成します。
A = hilb(10);
行列の条件数の逆数を求めます。
C = 2.8286e-14
条件数の逆数が小さいため、A は悪条件です。
A の条件は同様の線形連立方程式の解に影響します。これを確認するために、Ax=b の解を摂動方程式 Ax=b+0.01 の解と比較します。
1 からなる列ベクトルを作成し、Ax=b を解きます。
b = ones(10,1); x = A\b;
次に、b を 0.01 だけ変化させて、摂動方程式を解きます。
0.01
b1 = b + 0.01; x1 = A\b1;
x と x1 の解を比較します。
x
x1
norm(x-x1)
ans = 1.1250e+05
A は悪条件であるため、b の小さな変化により x = A\b の解が非常に大きく (およそ 1e5) 変化します。この方程式は摂動に対して敏感です。
b
x = A\b
条件数の逆数が、行列式よりも精度が高い特異性の尺度である理由を調べます。
5 行 5 列の単位行列の倍数を作成します。
A = eye(5)*0.01;
この行列はフル ランクで 5 つの等しい特異値をもちます。これは svd(A) を計算することで確認できます。
svd(A)
A の行列式を計算します。
det(A)
ans = 1.0000e-10
行列の行列式はゼロに近いですが、A は実際は非常に良条件であり、特異値には "近くありません"。
A の条件数の逆数を計算します。
ans = 1
行列には 1 の条件数の逆数があり、したがって非常に良条件です。行列の特異性を確認するには、det(A) ではなく rcond(A) または cond(A) を使用します。
1
cond(A)
入力行列。正方数値行列として指定します。
データ型: single | double
single
double
条件数の逆数。スカラーとして返されます。C のデータ型は A と同じです。
条件数の逆数は、特定の行列が特異行列セットにどの程度近いかを示すスケール不変性の尺度です。
C が 0 に近い場合、行列はほぼ特異値で悪条件です。
C が 1.0 に近い場合、行列は良条件です。
条件数 cond と比較して、rcond はより効率的ですが信頼性が低い行列の条件の推定方法です。
cond
rcond
すべて展開する
使用上の注意および制限:
コード生成では、この関数のスパース行列入力はサポートされません。
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
R2006a より前に導入
cond | condest | norm | normest | rank | svd
condest
norm
normest
rank
svd
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ