Ayrıştırma
Olarak uygulanan matematik , ayrıklaştırma bir aktarılması olan , sürekli durum bir içine (fonksiyon, bir model, değişken, denklem) ayrı eşdeğer . Bu süreç genellikle bir problemin dijital çözümüne veya bir makinede programlanmasına yönelik bir ön adım oluşturur. Özel bir durum, sürekli bir değişkeni bir ikili değişkene yaklaştırabildiğimiz, ayrık sınıfların sayısının 2 olduğu dikotomizasyondur .
Ayrıklaştırma, ayrık matematikle de ilgilidir ve parçalı programlamanın önemli bileşenlerinden biridir . Bağlamda, ayrıklaştırma , birkaç ayrık değişken bir araya getirildiğinde veya ayrık kategoriler birleştirildiğinde taneciklik modifikasyonunu ifade edebilir .
Discretize, tutarlı bir şekilde sürekli bir veri ayrıştırma hatası (inç) oluşturur . Bu nedenle amaçlardan biri, bu hatayı olabildiğince en aza indiren ayrı bir model tasarlamaktır.
Ayrıklaştırma ve nicelemeyi birbirine karıştırmamalıyız .
Ayrıklaştırma yöntemleri arasında Euler-Maruyama (in) yöntemi ve sıra 0 engelleyicisi de sayılır .
Doğrusal durum modellerinin ayrıklaştırılması
Ayrıklaştırma, sürekli diferansiyel denklemlerin ayrık fark denklemlerine dönüştürülmesinde ortaya çıkar .
Zaman içinde sürekli olan uzaydaki durum modelini ele alıyoruz:
x˙(t)=ATx(t)+Bsen(t)+w(t)y(t)=VSx(t)+Dsen(t)+v(t){\ displaystyle {\ begin {align} {\ dot {\ mathbf {x}}} (t) & = \ mathbf {A} \ mathbf {x} (t) + \ mathbf {B} \ mathbf {u} ( t) + \ mathbf {w} (t) \\\ mathbf {y} (t) & = \ mathbf {C} \ mathbf {x} (t) + \ mathbf {D} \ mathbf {u} (t) + \ mathbf {v} (t) \ end {hizalı}}}burada v ve w , güç spektral yoğunluğuna sahip beyaz gürültü kaynaklarıdır
w(t)∼DEĞİL(0,Q) , v(t)∼DEĞİL(0,R){\ displaystyle \ mathbf {w} (t) \ sim {\ mathcal {N}} (0, \ mathbf {Q}) \, \ \ mathbf {v} (t) \ sim {\ mathcal {N}} ( 0, \ mathbf {R})}Sinyal varsayarak discretized edilebilir u 0 dereceden engelleyici ve gürültü için sürekli bir entegrasyon v vererek
x[k+1]=ATdx[k]+Bdsen[k]+w[k]y[k]=VSdx[k]+Ddsen[k]+v[k]{\ displaystyle {\ begin {align} \ mathbf {x} [k + 1] & = \ mathbf {A} _ {d} \ mathbf {x} [k] + \ mathbf {B} _ {d} \ mathbf {u} [k] + \ mathbf {w} [k] \\\ mathbf {y} [k] & = \ mathbf {C} _ {d} \ mathbf {x} [k] + \ mathbf {D} _ {d} \ mathbf {u} [k] + \ mathbf {v} [k] \ end {hizalı}}}kovaryanslarla
w[k]∼DEĞİL(0,Qd) , v[k]∼DEĞİL(0,Rd){\ displaystyle \ mathbf {w} [k] \ sim {\ mathcal {N}} (0, \ mathbf {Q} _ {d}) \, \ \ mathbf {v} [k] \ sim {\ mathcal { N}} (0, \ mathbf {R} _ {d})}veya
ATd=eATT=L-1{(sben-AT)-1}t=T{\ displaystyle \ mathbf {A} _ {d} = \ mathrm {e} ^ {\ mathbf {A} T} = {\ mathcal {L}} ^ {- 1} \ {(s \ mathbf {I} - \ mathbf {A}) ^ {- 1} \} _ {t = T}}
Bd=(∫τ=0TeATτdτ)B=AT-1(ATd-ben)B{\ displaystyle \ mathbf {B} _ {d} = \ left (\ int _ {\ tau = 0} ^ {T} \ mathrm {e} ^ {\ mathbf {A} \ tau} \ mathrm {d} \ tau \ right) \ mathbf {B} = \ mathbf {A} ^ {- 1} (\ mathbf {A} _ {d} -I) \ mathbf {B}}Eğer
bir olduğunu
düzenli
VSd=VS{\ displaystyle \ mathbf {C} _ {d} = \ mathbf {C}}
Dd=D{\ displaystyle \ mathbf {D} _ {d} = \ mathbf {D}}
Qd=∫τ=0TeATτQeAT⊤τdτ{\ displaystyle \ mathbf {Q} _ {d} = \ int _ {\ tau = 0} ^ {T} \ mathrm {e} ^ {\ mathbf {A} \ tau} \ mathbf {Q} \ mathrm {e } ^ {\ mathbf {A} ^ {\ top} \ tau} \, \ mathrm {d} \ tau}
Rd=1TR{\ displaystyle \ mathbf {R} _ {d} = {\ frac {1} {T}} \ mathbf {R}}
ve T örnekleme zamanı ve bir devrik bir A .
AT⊤{\ displaystyle \ mathbf {A} ^ {\ top}}
Tek adımda A d ve B d' yi hesaplamanın bir püf noktası , özelliği kullanmaktır
tecrübe(T[ATB00])=[M11M120ben]{\ displaystyle \ exp \ sol (T {\ başlar {bmatrix} \ mathbf {A} & \ mathbf {B} \\\ mathbf {0} & \ mathbf {0} \ end {bmatrix}} \ sağ) = { \ begin {bmatrix} \ mathbf {M_ {11}} & \ mathbf {M_ {12}} \\\ mathbf {0} & \ mathbf {I} \ end {bmatrix}}}ve bu yüzden
ATd=M11,Bd=M12.{\ displaystyle \ mathbf {A} _ {d} = \ mathbf {M} _ {11}, \ quad \ mathbf {B} _ {d} = \ mathbf {M} _ {12}.}
Gürültü ayrımı
Sayısal değerlendirme Q d bir matris üstel entegrali ile daha hassas yapılır. Bunu iki aşamada hesaplayabiliriz, önce matrisin inşası, sonra üstelinin hesaplanması
F=[-ATQ0AT⊤]T{\ displaystyle \ mathbf {F} = {\ begin {bmatrix} - \ mathbf {A} & \ mathbf {Q} \\\ mathbf {0} & \ mathbf {A} ^ {\ top} \ end {bmatrix} } T}
G=eF=[...ATd-1Qd0ATd⊤].{\ displaystyle \ mathbf {G} = \ mathrm {e} ^ {\ mathbf {F}} = {\ begin {bmatrix} \ dots & \ mathbf {A} _ {d} ^ {- 1} \ mathbf {Q } _ {d} \\\ mathbf {0} & \ mathbf {A} _ {d} ^ {\ top} \ end {bmatrix}}.}
Ayrıklaştırılmış gürültü daha sonra G'nin sağ alt tarafındaki bloğun devrikini sağ üstteki ile çarparak değerlendirilir :
Qd=(ATd⊤)⊤(ATd-1Qd)=ATd(ATd-1Qd).{\ 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}).}
Türetme
Sürekli modelden başlayarak
x˙(t)=ATx(t)+Bsen(t){\ displaystyle \ mathbf {\ nokta {x}} (t) = \ mathbf {A} \ mathbf {x} (t) + \ mathbf {B} \ mathbf {u} (t)}matris üstel olduğunu
biliyoruz
ddteATt=ATeATt=eATtAT{\ displaystyle {\ frac {\ mathrm {d}} {\ mathrm {d} t}} \ mathrm {e} ^ {\ mathbf {A} t} = \ mathbf {A} \ mathrm {e} ^ {\ mathbf {A} t} = \ mathrm {e} ^ {\ mathbf {A} t} \ mathbf {A}}ve soldaki modeli çarparak:
e-ATtx˙(t)=e-ATtATx(t)+e-ATtBsen(t){\ displaystyle \ mathrm {e} ^ {- \ mathbf {A} t} \ mathbf {\ dot {x}} (t) = \ mathrm {e} ^ {- \ mathbf {A} t} \ mathbf {A } \ mathbf {x} (t) + \ mathrm {e} ^ {- \ mathbf {A} t} \ mathbf {B} \ mathbf {u} (t)}tanıyoruz
ddt(e-ATtx(t))=e-ATtBsen(t){\ displaystyle {\ frac {\ mathrm {d}} {\ mathrm {d} t}} (\ mathrm {e} ^ {- \ mathbf {A} t} \ mathbf {x} (t)) = \ mathrm {e} ^ {- \ mathbf {A} t} \ mathbf {B} \ mathbf {u} (t)}Böylece entegrasyon verir
e-ATtx(t)-e0x(0)=∫0te-ATτBsen(τ)dτ{\ displaystyle \ mathrm {e} ^ {- \ mathbf {A} t} \ mathbf {x} (t) - \ mathrm {e} ^ {0} \ mathbf {x} (0) = \ int _ {0 } ^ {t} \ mathrm {e} ^ {- \ mathbf {A} \ tau} \ mathbf {B} \ mathbf {u} (\ tau) \, \ mathrm {d} \ tau}
x(t)=eATtx(0)+∫0teAT(t-τ)Bsen(τ)dτ{\ displaystyle \ mathbf {x} (t) = \ mathrm {e} ^ {\ mathbf {A} t} \ mathbf {x} (0) + \ int _ {0} ^ {t} \ mathrm {e} ^ {\ mathbf {A} (t- \ tau)} \ mathbf {B} \ mathbf {u} (\ tau) \, \ mathrm {d} \ tau}
bu, sürekli modelin analitik bir çözümüdür.
Şimdi bu ifadeyi ayırmak istiyoruz. Her zaman adımında u sabit olduğunu varsayıyoruz .
x[k] =def x(kT)=eATkTx(0)+∫0kTeAT(kT-τ)Bsen(τ)dτ{\ displaystyle \ mathbf {x} [k] \ {\ stackrel {\ mathrm {def}} {=}} \ \ mathbf {x} (kT) = \ mathrm {e} ^ {\ mathbf {A} kT} \ mathbf {x} (0) + \ int _ {0} ^ {kT} \ mathrm {e} ^ {\ mathbf {A} (kT- \ tau)} \ mathbf {B} \ mathbf {u} (\ tau) \, \ mathrm {d} \ tau}
x[k+1]=eAT(k+1)Tx(0)+∫0(k+1)TeAT((k+1)T-τ)Bsen(τ)dτ=eATT[eATkTx(0)+∫0kTeAT(kT-τ)Bsen(τ)dτ]+∫kT(k+1)TeAT(kT+T-τ)Bsen(τ)dτ{\ displaystyle \ mathbf {x} [k + 1] = \ mathrm {e} ^ {\ mathbf {A} (k + 1) T} \ mathbf {x} (0) + \ int _ {0} ^ { (k + 1) T} \ mathrm {e} ^ {\ mathbf {A} ((k + 1) T- \ tau)} \ mathbf {B} \ mathbf {u} (\ tau) \, \ mathrm { d} \ tau = \ mathrm {e} ^ {\ mathbf {A} T} \ left [\ mathrm {e} ^ {\ mathbf {A} kT} \ mathbf {x} (0) + \ int _ {0 } ^ {kT} \ mathrm {e} ^ {\ mathbf {A} (kT- \ tau)} \ mathbf {B} \ mathbf {u} (\ tau) \, \ mathrm {d} \ tau \ right] + \ int _ {kT} ^ {(k + 1) T} \ mathrm {e} ^ {\ mathbf {A} (kT + T- \ tau)} \ mathbf {B} \ mathbf {u} (\ tau ) \, \ mathrm {d} \ tau}
İlk terimde parantez içindeki ifadeyi x [ k ] olarak tanıyoruz ve ikinci terim, d τ = - d v'ye izin veren v (τ) = kT + T - τ ile ikame edilerek basitleştirilebilir . Ayrıca integralde u'nun sabit olduğunu varsayıyoruz , bu da şunu verir:
x[k+1]=eATTx[k]-(∫v(kT)v((k+1)T)eATvdv)Bsen[k]=eATTx[k]-(∫T0eATvdv)Bsen[k]=eATTx[k]+(∫0TeATvdv)Bsen[k]=eATTx[k]+AT-1(eATT-ben)Bsen[k]{\ displaystyle {\ begin {align} \ mathbf {x} [k + 1] & = & \ mathrm {e} ^ {\ mathbf {A} T} \ mathbf {x} [k] - \ left (\ int _ {v (kT)} ^ {v ((k + 1) T)} \ mathrm {e} ^ {\ mathbf {A} v} \, \ mathrm {d} v \ right) \ mathbf {B} \ mathbf {u} [k] \\ & = & \ mathrm {e} ^ {\ mathbf {A} T} \ mathbf {x} [k] - \ left (\ int _ {T} ^ {0} \ mathrm {e} ^ {\ mathbf {A} v} \, \ mathrm {d} v \ right) \ mathbf {B} \ mathbf {u} [k] \\ & = & \ mathrm {e} ^ {\ mathbf {A} T} \ mathbf {x} [k] + \ left (\ int _ {0} ^ {T} \ mathrm {e} ^ {\ mathbf {A} v} \, \ mathrm {d} v \ right) \ mathbf {B} \ mathbf {u} [k] \\ & = & \ mathrm {e} ^ {\ mathbf {A} T} \ mathbf {x} [k] + \ mathbf {A} ^ { -1} \ left (\ mathrm {e} ^ {\ mathbf {A} T} - \ mathbf {I} \ right) \ mathbf {B} \ mathbf {u} [k] \ end {hizalı}}}ki bu ayrıklaştırma sorununun kesin çözümüdür.
Yaklaşımlar
Kesin bir ayrıklaştırma, ağır bir matris üstel ve entegrasyon adımları nedeniyle bazen imkansız olabilir. Daha sonra, sahip olduğumuz küçük zaman adımlarını temel alan yaklaşık bir ayrık modeli hesaplamak daha kolay hale gelir . Yaklaşık çözüm şu hale gelir:
eATT≈ben+ATT{\ displaystyle \ mathrm {e} ^ {\ mathbf {A} T} \ yaklaşık \ mathbf {I} + \ mathbf {A} T}
x[k+1]≈(ben+ATT)x[k]+TBsen[k].{\ displaystyle \ mathbf {x} [k + 1] \ yaklaşık (\ mathbf {I} + \ mathbf {A} T) \ mathbf {x} [k] + T \ mathbf {B} \ mathbf {u} [ k].}Diğer olası yaklaşımlar ve . Her birinin farklı stabilite özellikleri vardır. Sürekli sistemin kararlılık özelliklerini zaman içinde koruyan çift doğrusal dönüşümden veya Tustin dönüşümünden de bahsedebiliriz .
eATT≈(ben-ATT)-1{\ displaystyle \ mathrm {e} ^ {\ mathbf {A} T} \ yaklaşık \ sol (\ mathbf {I} - \ mathbf {A} T \ sağ) ^ {- 1}}eATT≈(ben+12ATT)(ben-12ATT)-1{\ displaystyle \ mathrm {e} ^ {\ mathbf {A} T} \ yaklaşık \ sol (\ mathbf {I} + {\ frac {1} {2}} \ mathbf {A} T \ sağ) \ sol ( \ mathbf {I} - {\ frac {1} {2}} \ mathbf {A} T \ sağ) ^ {- 1}}
Diferansiyel denklemlerin ayrıklaştırılması
Diferansiyel bir denklemin (sıradan veya kısmi türevlerle) sayısal çözünürlüğü, çözümün tanım alanının (uzay veya zaman veya hatta her ikisi) ayrıklaştırılmasını gerektirir. Böylece, bir Ω alanında tanımlanan bir u ( x , t ) fonksiyonunun ve bir zaman aralığının [0; T ] , olacak sadece hesaplamak değerleri ( u ( x i , t , n )) , x i noktaları olan Q ve t n anları [0; T ] . Bunun için, diferansiyel operatörler, ayrık ikinci türev gibi, ayrık versiyonlarla da yaklaşılır :
∂2sen∂x2≃senben-1-senbenxben-1-xben+senben+1-senbenxben+1-xben.{\ displaystyle {\ frac {\ kısmi ^ {2} u} {\ kısmi x ^ {2}}} \ simeq {\ frac {u_ {i-1} -u_ {i}} {x_ {i-1} -x_ {i}}} + {\ frac {u_ {i + 1} -u_ {i}} {x_ {i + 1} -x_ {i}}}.}Çözümleme yöntemi ( sonlu farklar , sonlu elemanlar veya bitmiş hacimler , en yaygın olanı adlandırmak için), çözümü sürekli problemin çözümünün bir yaklaşımı olan ayrı bir problem oluşturabilir. Yapılan hatanın iki kaynağı vardır:
- projeksiyon hatası: sürekli bir uzaydan ayrı bir alana geçerken, mevcut çözümün değiştiği alan;
- enterpolasyon hatası: dijital şema seçimi ve çözünürlük için seçilen uzay-zaman ızgarasının tanımı, yaklaşımın kalitesini etkileyecektir.
Sürekli özelliklerin ayrıklaştırılması
Olarak istatistik ve otomatik öğrenme , ayrıklaştırma, nominal ayrık değişkenleri ya da özellikleri içine sürekli değişkenler ya da özellikleri dönüştürülmesi anlamına gelir. Bu süreç, olasılık yoğunluk fonksiyonları oluşturmak için kullanışlıdır.
Ayrıca görün
Referanslar
-
(in) Raymond A. DeCarlo, Doğrusal sistemler: Sayısal uygulamalı bir durum değişkeni yaklaşımı , Prentice-Hall, Inc., 1989.
-
(in) Charles Van Loan, " Matris üstelini içeren hesaplama integralleri " , Otomatik Kontrolde IEEE İşlemleri , Cilt. 23, n o 3,1978, s. 395-404.
Dış bağlantılar
- Robert Grover Brown & Patrick YC Hwang, Rastgele sinyallere giriş ve uygulamalı Kalman filtrelemesi: MATLAB alıştırmaları ve çözümleri ile , 3.,1997, 484 s. ( ISBN 978-0-471-12839-7 )
- Chi-Tsong Chen, Doğrusal Sistem Teorisi ve Tasarımı , Philadelphia, PA, ABD, Saunders College Publishing,1984( ISBN 0-03-071691-8 )
- (tr) Charles Van Loan, " Matris üstelini içeren hesaplama integralleri " , otomatik kontrolle ilgili IEEE işlemleri , cilt. 23, n o 3,1978, s. 395-404
- RH Middleton ve GC Goodwin, Dijital kontrol ve tahmin: birleşik bir yaklaşım ,1990, 33 p. ( ISBN 0-13-211665-0 )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">