Conversion of continuous functions into discrete counterparts
有限要素法 で得られた離散化偏微分方程式の解 。 応用数学 において 、 離散化とは、 連続 関数、モデル、変数、方程式を離散的な対応物に 変換するプロセスです。このプロセスは通常、それらをデジタルコンピュータ上で数値評価や実装に適したものにするための最初のステップとして行われます。 二分化は 離散化の特殊なケースであり、離散クラスの数が2です。これにより、連続変数を 2値変数 として近似できます( モデリングのために二 分法 を作成することで 、例えば 2値分類 など)。
離散化は離散数学 にも関連しており 、 粒度計算 の重要な要素です。この文脈では、 離散化は 、複数の離散変数を集約したり、複数の離散カテゴリを融合したりする場合のように、
変数またはカテゴリの 粒度を 変更することを指す場合もあります。
連続データを 離散化する と、必ずある程度の 離散化誤差が生じます。目標は、この誤差を、 モデリングの 目的において無視できるレベルまで低減することです 。
離散化 と 量子化という 用語は 、多くの場合同じ 意味を 持ちますが、必ずしも同一の 意味合いを 持つわけではありません。(具体的には、2つの用語は同じ 意味分野を共有しています。) 離散化誤差 と 量子化誤差 についても同様です 。
離散化に関連する数学的手法には、 オイラー・丸山法 や ゼロ次ホールド法 などがあります。
線形状態空間モデルの離散化 離散化は、連続微分方程式を 数値計算 に適した離散 差分方程式 に 変換することにも関係しています 。
次の連続時間 状態空間モデル
x ˙ ( t ) = A x ( t ) + B u ( t ) + w ( t ) y ( t ) = C x ( t ) + D u ( t ) + v ( t ) {\displaystyle {\begin{aligned}{\dot {\mathbf {x} }}(t)&=\mathbf {Ax} (t)+\mathbf {Bu} (t)+\mathbf {w} (t)\\[2pt]\mathbf {y} (t)&=\mathbf {Cx} (t)+\mathbf {Du} (t)+\mathbf {v} (t)\end{aligned}}}
ここで v と wは、 パワースペクトル密度 を持つ連続的なゼロ平均 白色ノイズ 源である。
w ( t ) ∼ N ( 0 , Q ) v ( t ) ∼ N ( 0 , R ) {\displaystyle {\begin{aligned}\mathbf {w} (t)&\sim N(0,\mathbf {Q} )\\[2pt]\mathbf {v} (t)&\sim N(0,\mathbf {R} )\end{aligned}}}
入力 uの ゼロ次ホールド とノイズ v の連続積分を仮定すると、離散化することができる 。
x [ k + 1 ] = A d x [ k ] + B d u [ k ] + w [ k ] y [ k ] = C d x [ k ] + D d u [ k ] + v [ k ] {\displaystyle {\begin{aligned}\mathbf {x} [k+1]&=\mathbf {A_{d}x} [k]+\mathbf {B_{d}u} [k]+\mathbf {w} [k]\\[2pt]\mathbf {y} [k]&=\mathbf {C_{d}x} [k]+\mathbf {D_{d}u} [k]+\mathbf {v} [k]\end{aligned}}}
共分散を持つ
w [ k ] ∼ N ( 0 , Q d ) v [ k ] ∼ N ( 0 , R d ) {\displaystyle {\begin{aligned}\mathbf {w} [k]&\sim N(0,\mathbf {Q_{d}} )\\[2pt]\mathbf {v} [k]&\sim N(0,\mathbf {R_{d}} )\end{aligned}}}
どこ
A d = e A T = L − 1 { ( s I − A ) − 1 } t = T B d = ( ∫ τ = 0 T e A τ d τ ) B C d = C D d = D Q d = ∫ τ = 0 T e A τ Q e A ⊤ τ d τ R d = R 1 T {\displaystyle {\begin{aligned}\mathbf {A_{d}} &=e^{\mathbf {A} T}={\mathcal {L}}^{-1}{\Bigl \{}(s\mathbf {I} -\mathbf {A} )^{-1}{\Bigr \}}_{t=T}\\[4pt]\mathbf {B_{d}} &=\left(\int _{\tau =0}^{T}e^{\mathbf {A} \tau }d\tau \right)\mathbf {B} \\[4pt]\mathbf {C_{d}} &=\mathbf {C} \\[8pt]\mathbf {D_{d}} &=\mathbf {D} \\[2pt]\mathbf {Q_{d}} &=\int _{\tau =0}^{T}e^{\mathbf {A} \tau }\mathbf {Q} e^{\mathbf {A} ^{\top }\tau }d\tau \\[2pt]\mathbf {R_{d}} &=\mathbf {R} {\frac {1}{T}}\end{aligned}}}
T は サンプル時間 で ある 。A が 非特異な場合 、 B d = A − 1 ( A d − I ) B . {\displaystyle \mathbf {B_{d}} =\mathbf {A} ^{-1}(\mathbf {A_{d}} -\mathbf {I} )\mathbf {B} .}
離散化測定ノイズの式は、連続測定ノイズがパワースペクトル密度で定義される結果である。 [1]
A d と B d を1ステップで計算する巧妙な方法は 、次の性質を利用することである: [2] : p. 215
e [ A B 0 0 ] T = [ A d B d 0 I ] {\displaystyle e^{{\begin{bmatrix}\mathbf {A} &\mathbf {B} \\\mathbf {0} &\mathbf {0} \end{bmatrix}}T}={\begin{bmatrix}\mathbf {A_{d}} &\mathbf {B_{d}} \\\mathbf {0} &\mathbf {I} \end{bmatrix}}}
ここで、 A d と B d は離散化された状態空間行列です。
プロセスノイズの離散化 Q d の数値評価は、 行列の指数積分のためやや複雑です。しかし、まず行列を構築し、その指数関数を計算することで計算できます。 [3]離散化されたプロセスノイズは、 G の右下分割の転置と G の右上分割を乗算することで評価されます 。 F = [ − A Q 0 A ⊤ ] T G = e F = [ … A d − 1 Q d 0 A d ⊤ ] {\displaystyle {\begin{aligned}\mathbf {F} &={\begin{bmatrix}-\mathbf {A} &\mathbf {Q} \\\mathbf {0} &\mathbf {A} ^{\top }\end{bmatrix}}T\\[2pt]\mathbf {G} &=e^{\mathbf {F} }={\begin{bmatrix}\dots &\mathbf {A_{d}} ^{-1}\mathbf {Q_{d}} \\\mathbf {0} &\mathbf {A_{d}} ^{\top }\end{bmatrix}}\end{aligned}}} Q d = ( A d ⊤ ) ⊤ ( A d − 1 Q d ) = A d ( A d − 1 Q d ) . {\displaystyle \mathbf {Q_{d}} =(\mathbf {A_{d}} ^{\top })^{\top }(\mathbf {A_{d}} ^{-1}\mathbf {Q_{d}} )=\mathbf {A_{d}} (\mathbf {A_{d}} ^{-1}\mathbf {Q_{d}} ).}
導出 連続モデルから始めると、 行列指数は である ことがわかっており 、モデルを前置乗算すると、 次のように認識
されます 。また、積分すると、 連続モデルの解析解が得られます。 x ˙ ( t ) = A x ( t ) + B u ( t ) {\displaystyle \mathbf {\dot {x}} (t)=\mathbf {Ax} (t)+\mathbf {Bu} (t)} d d t e A t = A e A t = e A t A {\displaystyle {\frac {d}{dt}}e^{\mathbf {A} t}=\mathbf {A} e^{\mathbf {A} t}=e^{\mathbf {A} t}\mathbf {A} } e − A t x ˙ ( t ) = e − A t A x ( t ) + e − A t B u ( t ) {\displaystyle e^{-\mathbf {A} t}\mathbf {\dot {x}} (t)=e^{-\mathbf {A} t}\mathbf {Ax} (t)+e^{-\mathbf {A} t}\mathbf {Bu} (t)} d d t [ e − A t x ( t ) ] = e − A t B u ( t ) {\displaystyle {\frac {d}{dt}}{\Bigl [}e^{-\mathbf {A} t}\mathbf {x} (t){\Bigr ]}=e^{-\mathbf {A} t}\mathbf {Bu} (t)} e − A t x ( t ) − e 0 x ( 0 ) = ∫ 0 t e − A τ B u ( τ ) d τ x ( t ) = e A t x ( 0 ) + ∫ 0 t e A ( t − τ ) B u ( τ ) d τ {\displaystyle {\begin{aligned}e^{-\mathbf {A} t}\mathbf {x} (t)-e^{0}\mathbf {x} (0)&=\int _{0}^{t}e^{-\mathbf {A} \tau }\mathbf {Bu} (\tau )d\tau \\[2pt]\mathbf {x} (t)&=e^{\mathbf {A} t}\mathbf {x} (0)+\int _{0}^{t}e^{\mathbf {A} (t-\tau )}\mathbf {Bu} (\tau )d\tau \end{aligned}}}
さて、上の式を離散化します。u は 各タイムステップで 一定で あると仮定します。 括弧で囲まれた式は と認識し 、第2項は関数 を代入することで簡略化できます 。 であることに注意してください 。また、 uは 積分 の間一定であると仮定すると 、次の式が得られます。 x [ k ] = d e f x ( k T ) x [ k ] = e A k T x ( 0 ) + ∫ 0 k T e A ( k T − τ ) B u ( τ ) d τ x [ k + 1 ] = e A ( k + 1 ) T x ( 0 ) + ∫ 0 ( k + 1 ) T e A [ ( k + 1 ) T − τ ] B u ( τ ) d τ x [ k + 1 ] = e A T [ e A k T x ( 0 ) + ∫ 0 k T e A ( k T − τ ) B u ( τ ) d τ ] + ∫ k T ( k + 1 ) T e A ( k T + T − τ ) B u ( τ ) d τ {\displaystyle {\begin{aligned}\mathbf {x} [k]&\,{\stackrel {\mathrm {def} }{=}}\ \mathbf {x} (kT)\\[6pt]\mathbf {x} [k]&=e^{\mathbf {A} kT}\mathbf {x} (0)+\int _{0}^{kT}e^{\mathbf {A} (kT-\tau )}\mathbf {Bu} (\tau )d\tau \\[4pt]\mathbf {x} [k+1]&=e^{\mathbf {A} (k+1)T}\mathbf {x} (0)+\int _{0}^{(k+1)T}e^{\mathbf {A} [(k+1)T-\tau ]}\mathbf {Bu} (\tau )d\tau \\[2pt]\mathbf {x} [k+1]&=e^{\mathbf {A} T}\left[e^{\mathbf {A} kT}\mathbf {x} (0)+\int _{0}^{kT}e^{\mathbf {A} (kT-\tau )}\mathbf {Bu} (\tau )d\tau \right]+\int _{kT}^{(k+1)T}e^{\mathbf {A} (kT+T-\tau )}\mathbf {B} \mathbf {u} (\tau )d\tau \end{aligned}}} x [ k ] {\displaystyle \mathbf {x} [k]} v ( τ ) = k T + T − τ {\displaystyle v(\tau )=kT+T-\tau } d τ = − d v {\displaystyle d\tau =-dv}
x [ k + 1 ] = e A T x [ k ] − ( ∫ v ( k T ) v ( ( k + 1 ) T ) e A v d v ) B u [ k ] = e A T x [ k ] − ( ∫ T 0 e A v d v ) B u [ k ] = e A T x [ k ] + ( ∫ 0 T e A v d v ) B u [ k ] = e A T x [ k ] + A − 1 ( e A T − I ) B u [ k ] {\displaystyle {\begin{aligned}\mathbf {x} [k+1]&=e^{\mathbf {A} T}\mathbf {x} [k]-\left(\int _{v(kT)}^{v((k+1)T)}e^{\mathbf {A} v}dv\right)\mathbf {Bu} [k]\\[2pt]&=e^{\mathbf {A} T}\mathbf {x} [k]-\left(\int _{T}^{0}e^{\mathbf {A} v}dv\right)\mathbf {Bu} [k]\\[2pt]&=e^{\mathbf {A} T}\mathbf {x} [k]+\left(\int _{0}^{T}e^{\mathbf {A} v}dv\right)\mathbf {Bu} [k]\\[4pt]&=e^{\mathbf {A} T}\mathbf {x} [k]+\mathbf {A} ^{-1}\left(e^{\mathbf {A} T}-\mathbf {I} \right)\mathbf {Bu} [k]\end{aligned}}}
これは離散化問題に対する正確な解です。
A が特異な場合、後者の式は、 その テイラー展開 を に置き換えることによって依然として使用できます 。 これにより 、実際に使用される形式である が生成されます。 e A T {\displaystyle e^{\mathbf {A} T}} e A T = ∑ k = 0 ∞ 1 k ! ( A T ) k . {\displaystyle e^{\mathbf {A} T}=\sum _{k=0}^{\infty }{\frac {1}{k!}}(\mathbf {A} T)^{k}.} x [ k + 1 ] = e A T x [ k ] + ( ∫ 0 T e A v d v ) B u [ k ] = ( ∑ k = 0 ∞ 1 k ! ( A T ) k ) x [ k ] + ( ∑ k = 1 ∞ 1 k ! A k − 1 T k ) B u [ k ] , {\displaystyle {\begin{aligned}\mathbf {x} [k+1]&=e^{\mathbf {A} T}\mathbf {x} [k]+\left(\int _{0}^{T}e^{\mathbf {A} v}dv\right)\mathbf {Bu} [k]\\[2pt]&=\left(\sum _{k=0}^{\infty }{\frac {1}{k!}}(\mathbf {A} T)^{k}\right)\mathbf {x} [k]+\left(\sum _{k=1}^{\infty }{\frac {1}{k!}}\mathbf {A} ^{k-1}T^{k}\right)\mathbf {Bu} [k],\end{aligned}}}
近似値 厳密な離散化は、複雑な行列指数関数および積分演算を伴うため、時には困難な場合があります。小さなタイムステップに基づく近似離散モデルを計算する方がはるかに簡単です 。近似解は次のようになります。 e A T ≈ I + A T {\displaystyle e^{\mathbf {A} T}\approx \mathbf {I} +\mathbf {A} T} x [ k + 1 ] ≈ ( I + A T ) x [ k ] + T B u [ k ] {\displaystyle \mathbf {x} [k+1]\approx (\mathbf {I} +\mathbf {A} T)\mathbf {x} [k]+T\mathbf {Bu} [k]}
これはオイラー法 とも呼ばれ 、前進オイラー法とも呼ばれます。他の近似法としては 、後退オイラー法とも呼ばれる と、 双線形変換 あるいはタスティン変換と呼ばれる があります 。これらの近似法はそれぞれ異なる安定性特性を持ちます。双線形変換は連続時間システムの不安定性を保存します。 e A T ≈ ( I − A T ) − 1 {\displaystyle e^{\mathbf {A} T}\approx (\mathbf {I} -\mathbf {A} T)^{-1}} e A T ≈ ( I + 1 2 A T ) ( I − 1 2 A T ) − 1 {\displaystyle e^{\mathbf {A} T}\approx (\mathbf {I} +{\tfrac {1}{2}}\mathbf {A} T)(\mathbf {I} -{\tfrac {1}{2}}\mathbf {A} T)^{-1}}
連続特徴の離散化 統計学 と機械学習 において、 離散化とは 、連続的な特徴量または変数を離散化された特徴量または名義変数に変換するプロセスを指します。これは、確率質量関数を作成する際に役立ちます。
滑らかな関数の離散化 一般化関数 論では 、 離散化は 緩和分布 上の 畳み込み定理 の特別なケースとして生じる。
F { f ∗ III } = F { f } ⋅ III {\displaystyle {\mathcal {F}}\{f*\operatorname {III} \}={\mathcal {F}}\{f\}\cdot \operatorname {III} } F { α ⋅ III } = F { α } ∗ III {\displaystyle {\mathcal {F}}\{\alpha \cdot \operatorname {III} \}={\mathcal {F}}\{\alpha \}*\operatorname {III} } ここで 、 は ディラックコーム 、 は離散化、 は 周期化 、 は急速に減少する緩和分布(例えば、 ディラックのデルタ関数 やその他の コンパクトにサポートされた 関数)、 は 滑らか で ゆっくりと増加する 通常の関数 (例えば、 が一定である関数 やその他の 帯域制限 関数)、 は(ユニタリ、通常の周波数) フーリエ変換 です。 滑らかでない関数は、離散化の前に 軟化器 を使用して滑らかにすることができます。 III {\displaystyle \operatorname {III} } ⋅ III {\displaystyle \cdot \operatorname {III} } ∗ III {\displaystyle *\operatorname {III} } f {\displaystyle f} δ {\displaystyle \delta } α {\displaystyle \alpha } 1 {\displaystyle 1} F {\displaystyle {\mathcal {F}}} α {\displaystyle \alpha }
例えば、関数 を離散化すると、 ディラックのデルタ関数 の 線形結合 の係数として解釈される ディラック櫛形 列 が得られます 。 さらに 切り捨て を適用すると、有限列、例えば が得られます 。これらは時間と周波数の両方において離散的です。 1 {\displaystyle 1} [ . . , 1 , 1 , 1 , . . ] {\displaystyle [..,1,1,1,..]} [ 1 , 1 , 1 , 1 ] {\displaystyle [1,1,1,1]}
参照
参考文献 ^ Analytic Sciences Corporation. 技術スタッフ. (1974). 応用最適推定 . Gelb, Arthur, 1937-. マサチューセッツ州ケンブリッジ: MIT Press. pp. 121. ISBN 0-262-20027-9 . OCLC 960061. ^ レイモンド・デカルロ: 線形システム:数値実装による状態変数アプローチ 、プレンティスホール、ニュージャージー、1989 ^ Charles Van Loan: 行列指数関数を含む積分の計算 、IEEE Transactions on Automatic Control. 23 (3): 395–404, 1978
さらに読む ロバート・グローバー・ブラウン&パトリック・YC・ファン(1997年) 『ランダム信号と応用カルマンフィルタリング入門』 (第3版) ISBN 978-0471128397 。 チ・ツォン・チェン (1984). 『線形システム理論と設計 』 フィラデルフィア, ペンシルバニア州, 米国: サンダース・カレッジ出版. ISBN 978-0030716911 。 C. Van Loan (1978年6月). 「行列指数関数を含む積分の計算」 (PDF) . IEEE Transactions on Automatic Control . 23 (3): 395– 404. doi :10.1109/TAC.1978.1101743. hdl : 1813/7095 . RH Middleton & GC Goodwin (1990). デジタル制御と推定:統一的アプローチ . Prentice Hall. p. 33f. ISBN 978-0132116657 。
外部リンク 幾何学と動力学における離散化:微分幾何学と動力学の離散化に関する研究