[elektro] Statisztika matek
Moczik Gabor
pm_levlista at progzmaster.hu
Sat Feb 28 16:16:45 CET 2009
Nemeth Tibor wrote:
> Nem teljesen azonos, de már jópár éve csináltam vezérlést egy gázpalack
> töltőhöz. Adott 2..5 palack mindenféle gázokkal és egy üres palack a
> mérlegen. Feladat adott összetételű és mennyiségű gázt belevezérelni
> mágnesszelepek nyitásával. Itt ahogy fogy a gáz a palackokból illetve
> ahogy emelkedik a nyomás a töltetben egyre változnak a viszonyok,
> ráadásul ez egy huszonegyes játék, ha túlment vesztettél. Túlságosan
> kicsi nyitási időket a szelepek nem tűrtek, kiszámíthatatlanul
> viselkedtek. A mérlegelés viszont hosszadalmas volt. Itt kellett jól
> extrapolálni.
Hat ez is egy izgalmas feladat lehetett...
Az enyem azert egyszerubb egy kicsit, barmikor ujra lehet merni, legfeljebb
ketszer annyi ideig tart a meres, nehanyszor elofordul az belefer.
> Visszatérve aktuális problémádra, ha jól értem, a pontok adatait
> eltárolod, hiszen ki akarod szűrni a gyanúsan hibás pontot. Ebben az
> esetben nem igazán értem mi az előnye a numerikusan instabil,
> programozásában bonyolultabb formulának. Ez akkor előnyös, ha nem tudod
> vagy nem akarod eltárolni a pontokat. Ha mindig rendelkezésre állnak,
> igaz két ciklusban, de stabil és egyszerűbb számítás végezhező. Futási
> dőben biztos több, hiszen mindig elölről kezdi, de nem tudom, hogy ez
> szempont-e.
Szempont a futási idő, de némi idő feláldozható ha ezzel egy robosztus
algoritmust lehet létrehozni. Nem értem pontosan mire gondolsz az adatok
eltárolásával kapcsolatban. Leírom a műszaki problémát konkrét számszerű
adatokkal, így könnyebb mint paraméteresen gondolkodni.
Van egy mérendő munkadarab, amire ellenállásokat (221k..401k) lehet
rákapcsolni, erre a kimenetén keletkezik egy feszültség. Engem az érdekel,
hogy 30V-hoz és 48V-hoz mekkora ellenállás kell, és mondjuk kb. 15..70V-ig
eléggé lineáris az összefüggés.
Sajnos elég nagy a szórás, van amelyik példány az első próba
ellenállásértéknél 65V-ot ad, van amelyik 130-at. Emiatt ha fixen léptetem
lefelé az ellenállást valamekkora lépésekkel, akkor elképzelhető hogy
130..80V-ig lesznek mérési erdményeim, ebből fogok kiszámítani egy egyenest
ami engem 30..48V-nál érdekel, aminek a környékén nincs is minta, lehet hogy
nem is működik az áramkör ezen a munkaponton (selejt). Ha működik is,
tipikusan 2-3V hibát okoz, mert ennyire fent már kicsit más a meredkség, nem
teljesen lineáris.
Jelenleg egy olyan szempontot határoztam meg, hogy a 3-ik méréssel kéne 48V
közelébe, az 5-ikkel (utolsó) 30V közelébe kerülni, a 4-ik valahol a kettő
között. Egyenletesen felosztva a tartományt, ebből kijön hogy a 2-ik 57V, az
első 66V körül kéne legyen.
Jelenleg:
1. Elvégzem az első mérést, a legkisebb ellenállással. Ha 66V vagy alatta
van, akkor GOTO 2.
Ha 66V fölött van, akkor kiszámítom hogy mennyivel több mint 57V (már csak
ezt lehet megcélozni, az első mérést már ellőttük). A meredekség átlagosan
-1.2, ezzel kiszámolom hogy mennyivel léptessek odébb hogy kb. 57 legyen. GOTO 3
2. A 30V-ig "hátralévő" részt minden lépésben felosztom annyi enyenlő részre
ahány mérés még hátra van, és ezt célzom meg a tipikus meredkséggel.
3. Ha megvan a második mérés, akkor itt egy sima arányosítással meghatározok
egy kb. meredekséget, ezzel számolom a további mérést. Ha ez a meredekség
irreálisra jön ki, pl. nincs -2 .. -0.8 között, akkor eldobom, inkább
használom a tipikus -1.2-t, mert vagy mérési hiba van, vagy selejt a munkadarab.
Innentől ezzel közelít, nincs még ciklusonként lin. regresszió, nem nézi meg
a további mérések után hogy jó-e ez a meredekség, egyelőre ennyi idő volt
kísérletezni a géppel. Tapasztalatok viszont vannak:
- volt már -3 meredekségű példány is, ezt elég szarul közelítette, mivel
-2 alatti eredményt nem fogadta el. Kicseréltem a limitet -3.5 .. -0.8 -ra,
ami nem biztos hogy jó ötlet...
- lehet hogy ha az első mérés nagyon magas, azt kérdés nélkül ki kéne dobni
a végén, vagy inkább már rögtön az elején. Azaz ezen kívül 5 (össz 6) mérés
lenne. Néha elhúzza a regresszió eredményét, és sum(abs(error))>=10 esetén
nem fogadom el hitelesnek a mérést.
- ha mérési hiba van valahol az első két mérésnél, ebből kiszámít egy rossz
meredekséget, akkor igencsak tévútra kerül, vagy messze 30V alá fog esni az
utolsó mérés, vagy jóval fölé. Ezért is nem lesz jó ötlet -3.5 -ig elfogadni
a két mérésből saccolt meredekséget, inkább többször kéne ellenőrizni.
Rettenet primitív ez még így, de azért nem olyan katasztrófális a helyzet,
~2000db-ból kb. 15-20db-ot dobott félre. (az elfogadás feltétele egyelőre az
volt, hogy sum(abs(error))<10 ÉS x[3]<55 ÉS x[5]<45 )
Valahogy el kéne dönteni, hogy mit tekintünk jó, mit hibás adatnak,
lehetőleg minél előbb, nem csak a végén. Van még 1-2 elképzelésem, ha lesz
idő kipróbálni, beszámolok a fejleményekről ha érdekel.
--
((( Móczik Gábor )))--((( E~mail: "pm-01" @AT "progzmaster" .DOT "hu" )))
((( Skype: moczik )))
More information about the Elektro
mailing list