fixed.qlessQRUpdate
説明
例
行列の上三角因子の更新
この例では、新しいデータがストリーミングされるのに応じて行列の上三角因子を更新する方法を示します。
行列を定義し、関数 fixed.qlessQR
を使用して上三角因子 R
を計算します。
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
⋮
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
を使用して上三角因子を新しいデータで更新できます。
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])
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
データを無制限に累積することなく不定数の行を連続的にストリーミングする場合は (センサー アレイから値を連続的に読み取る場合など)、忘却係数を指定します。
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
入力引数
R
— 上三角入力行列
行列
上三角入力。行列として指定します。
データ型: single
| double
| fi
複素数のサポート: あり
y
— 測定ベクトル
ベクトル
測定入力。ベクトルとして指定します。
データ型: single
| double
| fi
複素数のサポート: あり
forgettingFactor
— 忘却係数
非負のスカラー
忘却係数。0 ~ 1 の非負のスカラーとして指定します。忘却係数によって、過去のデータに指定される重みが決まります。forgettingFactor
の値は、R
の各行の処理後に R に乗算されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
出力引数
R
— 更新された上三角行列
行列
更新された上三角因子。行列として返されます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
倍精度、単精度および固定小数点データ型のコードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
R と y は符号付きで、2 進小数点スケーリングを使用しなければなりません。勾配とバイアス表現は固定小数点データ型ではサポートされていません。
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)