Main Content

dsp.LUFactor

(削除済み) 正方行列の下三角行列と上三角行列への因数分解

dsp.LUFactor は削除されました。代わりに lu を使用してください。詳細については、互換性の考慮事項を参照してください。

説明

LUFactor オブジェクトは、正方行列を下三角行列と上三角行列に因数分解します。

正方行列を下三角行列と上三角行列に因数分解する方法は次のとおりです。

  1. System object™ を定義および設定します。構築を参照してください。

  2. step を呼び出して、dsp.LUFactor のプロパティに従い、正方行列を因数分解します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

lu = dsp.LUFactor は、正方入力行列 A の行置換を Ap = LU として因数分解する LUFactor System object lu を返します。ここで、L は単位下三角行列、U は上三角行列です。行をピボット選択した行列 Ap には、置換インデックス ベクトル P で示されたとおりに置換された A の行が含まれます。相当する MATLAB® コードは Ap = A(P,:) です。

lu = dsp.LUFactor('PropertyName',PropertyValue,...) は、指定の各プロパティが指定の値に設定された LUFactor オブジェクト lu を返します。

プロパティ

ExceptionOutputPort

入力の特異性を出力する場合に true に設定

このプロパティを true に設定すると、入力の特異性が logical データ型の値 true または false として出力されます。出力 true は現在の入力が特異であることを示し、出力 false は現在の入力が特異でないことを示します。

 固定小数点プロパティ

メソッド

stepDecompose matrix into lower and upper triangular matrices
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて折りたたむ

メモ

R2016a 以前のリリースを使用している場合、それぞれのオブジェクトの呼び出しを等価な step 構文で置き換えてください。たとえば、obj(x)step(obj,x) になります。

正方行列を下成分と上成分に分解します。

lu = dsp.LUFactor;
x = rand(4)
x = 4×4

    0.8147    0.6324    0.9575    0.9572
    0.9058    0.0975    0.9649    0.4854
    0.1270    0.2785    0.1576    0.8003
    0.9134    0.5469    0.9706    0.1419

[LU, P] = lu(x);
L = tril(LU,-1)+diag(ones(size(LU,1),1));
U = triu(LU);
y = L*U
y = 4×4

    0.9134    0.5469    0.9706    0.1419
    0.9058    0.0975    0.9649    0.4854
    0.8147    0.6324    0.9575    0.9572
    0.1270    0.2785    0.1576    0.8003

y が置換された x と等しいかどうかを確認します。

xp = x(P,:)
xp = 4×4

    0.9134    0.5469    0.9706    0.1419
    0.9058    0.0975    0.9649    0.4854
    0.8147    0.6324    0.9575    0.9572
    0.1270    0.2785    0.1576    0.8003

アルゴリズム

このオブジェクトは、LU Factorization ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

拡張機能

バージョン履歴

R2012a で導入

すべて展開する

R2023a: dsp.LUFactorSystem object は削除済み

dsp.LUFactor System object は削除されました。代わりに関数 lu を使用してください。

コードの更新

次の表は、関数 lu を使用するように既存のコードを更新する方法を示しています。

非推奨の使用方法推奨される代替案
rng(1)
lu = dsp.LUFactor;
x = rand(4)
x = 4×4

    0.4170    0.1468    0.3968    0.2045
    0.7203    0.0923    0.5388    0.8781
    0.0001    0.1863    0.4192    0.0274
    0.3023    0.3456    0.6852    0.6705

[LU,P] = lu(x)
LU = 4×4
    0.7203    0.0923    0.5388    0.8781
    0.4197    0.3068    0.4591    0.3019
    0.0002    0.6070    0.1404   -0.1560
    0.5789    0.3041   -0.3900   -0.4566

P = 4×1
     2
     4
     3
     1
[LUfn,Pfn] = lu(x)
LUfn = 4×4
    0.7203    0.0923    0.5388    0.8781
    0.4197    0.3068    0.4591    0.3019
    0.0002    0.6070    0.1404   -0.1560
    0.5789    0.3041   -0.3900   -0.4566

Pfn = 4×1
     2
     4
     3
     1

参考