MATLAB ヘルプ センター
QR 分解の更新
R = fixed.qlessQRUpdate(R, y)
R = fixed.qlessQRUpdate(R, y, forgettingFactor)
R = fixed.qlessQRUpdate(R, y) は上三角 R をベクトル y で更新します。
R
y
この構文は、次と等価です。
[~,R] = qr([R;y],0);
例
R = fixed.qlessQRUpdate(R, y, forgettingFactor) は上三角 R をベクトル y で更新し、その結果に forgettingFactor で指定された値を乗算します。
forgettingFactor
[~,R] = qr([R;y],0); R(:) = forgettingFactor * R;
すべて折りたたむ
この例では、新しいデータがストリーミングされるのに応じて行列の上三角因子を更新する方法を示します。
行列を定義し、関数 fixed.qlessQR を使用して上三角因子 R を計算します。
fixed.qlessQR
rng('default'); m = 20; n = 4; A = randn(m,n)
A = 20×4 0.5377 0.6715 -0.1022 -1.0891 1.8339 -1.2075 -0.2414 0.0326 -2.2588 0.7172 0.3192 0.5525 0.8622 1.6302 0.3129 1.1006 0.3188 0.4889 -0.8649 1.5442 -1.3077 1.0347 -0.0301 0.0859 -0.4336 0.7269 -0.1649 -1.4916 0.3426 -0.3034 0.6277 -0.7423 3.5784 0.2939 1.0933 -1.0616 2.7694 -0.7873 1.1093 2.3505 -1.3499 0.8884 -0.8637 -0.6156 3.0349 -1.1471 0.0774 0.7481 0.7254 -1.0689 -1.2141 -0.1924 -0.0631 -0.8095 -1.1135 0.8886 0.7147 -2.9443 -0.0068 -0.7648 ⋮
R = fixed.qlessQR(A)
R = 4×4 7.1017 -2.0103 1.1646 0.7999 0 4.8784 0.5745 -0.3222 0 0 3.1658 -0.4570 0 0 0 4.4965
新しいデータ (センサー アレイからの新しい値など) が着信すると、関数 fixed.qlessQRUpdate を使用して上三角因子を新しいデータで更新できます。
fixed.qlessQRUpdate
y1 = [1,1,1,1]; R = fixed.qlessQRUpdate(R,y1)
R = 4×4 7.1718 -1.8513 1.2927 0.9315 0 5.0412 0.7646 -0.0904 0 0 3.2332 -0.2584 0 0 0 4.6074
y2 = [1,1,1,1]; R = fixed.qlessQRUpdate(R,y2)
R = 4×4 7.2411 -1.6954 1.4184 1.0607 0 5.1929 0.9371 0.1191 0 0 3.2892 -0.0962 0 0 0 4.6928
新しいデータが着信するのに応じて上三角因子を更新した結果は、すべてのデータをもつ上三角因子を計算することと等価です。
R = fixed.qlessQR([A;y1;y2])
データを無制限に累積することなく不定数の行を連続的にストリーミングする場合は (センサー アレイから値を連続的に読み取る場合など)、忘却係数を指定します。
forgettingFactor = exp(-1/(2*m))
forgettingFactor = 0.9753
y3 = [1, 1, 1, 1]; R = fixed.qlessQRUpdate(R,y3,forgettingFactor)
R = 4×4 7.1294 -1.5046 1.5038 1.1582 0 5.2031 1.0676 0.3020 0 0 3.2543 0.0379 0 0 0 4.6431
上三角入力。行列として指定します。
データ型: single | double | fi 複素数のサポート: あり
single
double
fi
測定入力。ベクトルとして指定します。
忘却係数。0 ~ 1 の非負のスカラーとして指定します。忘却係数によって、過去のデータに指定される重みが決まります。forgettingFactor の値は、R の各行の処理後に R に乗算されます。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
int8
int16
int32
int64
uint8
uint16
uint32
uint64
更新された上三角因子。行列として返されます。
すべて展開する
倍精度、単精度および固定小数点データ型のコードを生成します。
R と y は符号付きで、2 進小数点スケーリングを使用しなければなりません。傾きとバイアス表現は固定小数点データ型ではサポートされていません。
R2020b で導入
fixed.backwardSubstitute | fixed.forwardSubstitute | fixed.qlessQR | fixed.qrAB | fixed.qrMatrixSolve | fixed.qlessQRMatrixSolve
fixed.backwardSubstitute
fixed.forwardSubstitute
fixed.qrAB
fixed.qrMatrixSolve
fixed.qlessQRMatrixSolve
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ