Automatický výpočet chyby nepřímého měření František Batysta
[email protected] 19. listopadu 2009 Abstrakt Pro správné vyhodnocení naměřených dat je třeba také vypočítat chybu měření. Pokud je neznámá veličina měřena nepřímo, tj. vypočítáváme ji pomocí nějakého vzorce na základě jiných přímo měřených veličin, může být výpočet chyby nepřímého měření velmi pracný. Proto jsem v Matlabu napsal funkci, která výpočet provede automaticky a to včetně provedení příslušných parciálních derivací.
1
Teorie
Nejprve použité vztahy pro výpočet chyby nepřímého měření. Čerpal jsem především z [1]. • Chyby měřících přístrojů označíme ∆y. (Odhadujeme například velikostí dílku příslušného měřícího přístroje.) • Chyby opakovaně měřených veličin vypočítáme jako směrodatnou odchylku aritmetického průměru v u N u X 1 2 sa¯ = t (ai − a ¯) (1) N (N − 1) i=1 • Celkovou chybu přímého měření pak vyjádříme jako q ua¯ = s2a¯ + ∆yp2 • Pro nepřímo měřené veličiny X = F (x1 , x1 , · · · , xk ) stanovíme chybu jako v u k uX ∂f 2 2 uX¯ = t (ux¯i ) ∂x i i=1
2
(2)
(3)
Funkce chyby.mat
2.1
Účel funkce
Účelem funkce je pomocí dvou daných vstupů 1. Naměřená data přímo měřených veličin (x1 , x2 , · · · , xk ) s odhadnutými chybami měřících přístrojů. 2. Funkční závislost hledané veličiny X = F (x1 , x1 , · · · , xk ) v závislosti na přímo měřených veličinách (x1 , x2 , · · · , xk ). vypočítat veličinu hledanou veličinu X včetně její chyby podle vzorce (3).
1
2.2
Manuál k funkci chyby.mat
1. Zapněte Matlab, najeďte do složky, kde se nachází soubor chyby.mat. 2. Nechť naše hledaná veličina X závisí na proměnných a, b, c např. vztahem X = (a · sin b)/c. Nejprve je třeba definovat symbolické proměnné. Proměnné a, b, c definuje příkazem v Command Window syms a b c 3. Dále definujeme funkci F příkazem F = a*sin(b)/c; 4. Dále je třeba vytvořit „kontejnerÿ se vstupními daty. Ten pro funkci chyby.m představuje proměnná typu cell array, což je pole proměnných různých typů. Protože ke každé proměnné potřebujeme uložit 3 různé věci: (a) název proměnné (b) naměřená data (c) chybu měřícího přístroje Vytvoříme tedy cell array s názvem „Dataÿ o třech řádcích a n sloupcích, kde n je počet proměnných. V našem případě tedy píšeme: Data = cell(3,3); 5. Teď máme prázdný „kontejnerÿ, který je třeba naplnit daty. Přitom je třeba se řídit následujícími pravidly: • do prvního řádku vkládáme naše symbolické proměnné • do druhého řádku vkládáme naměřená data opakovaně měřených jednotlivých veličin uspořádaných do sloupce. • do třetího řádku píšeme chyby měřících přístrojů příslušné veličiny. Vkládání je možné provést více způsoby, ale nejvíce se mi osvědčilo využít variable edioru. Klikněte dvakrát na ikonku proměnné Data, kterou vidíte ve Workspace. Otevře se editor proměnných který vypadá podobně jako Excel. Do prvního řádku napište názvy použitých proměnných (a, b, c) viz obr. 1. V našem případě napíšeme „aÿ na pozici (1,1), b na pozici (1,2) a c na pozici (1,3). Tím se na tyto pozice vloží přesně ty symbolické proměnné, které jsme předtím vytvořili příkazem syms.
2
Obrázek 1: První řádek: vkládání sybolických proměnných.
Obrázek 2: Druhý řádek: vkládání hodnot naměřených veličin Na další řádek vkládáme sloupec naměřených hodnot. Dvojím kliknutím na pozici (2,1) v edi3
toru proměnných zobrazíme obsah této proměnné Data{2,1} (zatím prázdný). Naměřená data napíšeme pod sebe do prvního sloupce. Předpokládejme, že jsme naměřili 5 hodnot veličiny a a1···5 = (2; 2, 1; 2; 1, 95; 2, 05; 1, 9). Pak bychom tyto hodnoty měli vložit do proměnné Data{2,1} jako na obr. 2. Analogicky vyplníme naměřené hodnoty zbylých proměnných. Pozn: funkce chyby.m automaticky pozná podle počet opakovaných měření podle délky sloupce. Délka sloupce může být libovloné přirozené číslo včetně 1. Do třetího řádku píšeme chyby měřících přístrojů příslušné veličiny. Celkově pak proměnná Data vypadá jako na obr. 3.
Obrázek 3: Druhý řádek: vkládání hodnot naměřených veličin 6. Vše je připraveno pro výpočet. Ten spustíme příkazem [Vysledek Chyba Data] = chyby(F,Data) Do proměnné Výsledek se uloží vypočtená hledaná veličina X, její chyba vypočtená podle (3) je v proměnné Chyba. Funkce vrací i rozšířené pole Data — přibylé řádky mají následující význam: • čtvrtý řádek: průměrná hodnota přes opakovaně měřené veličiny • pátý řádek: směrodatná odchylka průměru podle vzorce (1) (je nulová pro veličiny měřené pouze jednou.) • šestý řádek: celková chyba přímého měření příslušné veličiny podle vztahu (2) • sedmý řádek: totéž jako šestý řádek, ale v symolických proměnných. 7. Vzorový výstup funkce chyby.m je na obrázku 4. Pro kontrolu program vypíše semianalytický tvar chyby měření, dále vypíše celkový Výsledek a výslednou Chybu
4
Obrázek 4: Vzorový výstup: hodnota hledané veličiny a její chyba.
Reference [1] FJFI ČVUT: Chyby měření a zpracování naměřených výsledků [online], [cit. 19. listopadu 2009], http://praktika.fjfi.cvut.cz/ProvPokyny/chybynav/CHYBY1n.pdf
5