V systému FAMULUS je k dispozici celá řada knihoven pro zpracování
experimentálních dat.
Knihovny STAT.FML a INTERP.FML jsou dodávány přímo
se systémem. Knihovny STAT1.FML, MARQ.FML a BSPL.FML je možné získat v našem
archivu programů.
Příznivci jazyka PASCAL naleznou celou řadu zajímavých programů ve skriptech
.
Přehled dostupných modelů pro systém FAMULUS ukazuje následující tabulka:
Název | Popis |
DISTRIBS.FM | Rozdělení pravděpodobnosti a distribuční funkce pro hod kostkou |
DISTRIS1.FM | Rozdělení pravděpodobnosti a distribuční funkce diskrétní náhodnou veličinu |
NORM1.FM | Hustota a distribuční funkce normálního rozdělení |
NORM2.FM | Kreslí grafy normálního rozdělení pro různé hodnoty směrodatné odchylky |
MORM3.FM | Kreslí grafy normálního rozdělení pro různé hodnoty střední hodnoty |
NORM4.FM | Zobrazuje interval spolehlivosti pro normální rozdělení |
GAMA.FM | Graf gama funkce pro |
GAMA1.FM | Graf gama funkce pro kladné i záporné hodnoty x |
STUDENT.FM | Srovnání Studentova rozdělení s normálním rozdělením |
STUDB.FM | Interval spolehlivosti pro Studentovo rozdělení |
PRIMKA.FM | Proložení přímky metodou nejmenších čtverců |
PRIMKAP.FM | Předcházející program doplněný o analýzu dat |
POLY.FM | |
POLY1.FM |
Zahrnuje základní procedury a funkce pro interpolaci v jedné proměnné
derivaci a integraci pomocí kubických splinů.
Konstanta Natural: použijeme ji často - pokud budeme chtít přirozený spline.
Natural=9e999
PROCEDURE Spline(x[i=iMin TO iMax],y[ ],y1Min,y1Max,y2[])
Příprava interpolace pomocí kubických splinů.
Význam argumentů:
x[ ], y[ ] | x-ové a y-ové souřadnice bodů, kterými provádíme interpolaci |
iMin, iMax | určují, které body bereme při interpolaci do úvahy |
y1Min, y1Max | požadované hodnoty 1. derivace v bodech x[iMin], x[iMax] |
y2[ ] | výstupní pole - po ukončení procedury obsahuje druhé derivace v interpolovaných bodech |
x[ ], y[ ] | x-ové a y-ové souřadnice bodů, kterými provádíme interpolaci |
iMin, iMax | určují, které body bereme při interpolaci do úvahy |
x | hodnota argumentu, pro který chceme znát derivaci |
y2[ ] | pomocné pole, ve kterém jsou uloženy druhé derivace v interpolovaných bodech |
- toto pole musí být inicializováno procedurou Spline |
x[ ], y[ ] | x-ové a y-ové souřadnice bodů, kterými provádíme interpolaci |
iMin, iMax | určují, které body bereme při interpolaci do úvahy |
x | hodnota argumentu, pro který chceme znát interpolovanou hodnotu |
y2[ ] | pomocné pole, ve kterém jsou uloženy druhé derivace v interpolovaných bodech |
POZOR ! pole y2[ ] toto pole musí být inicializováno procedurou Spline |
x[ ], y[ ] | x-ové a y-ové souřadnice bodů, kterými provádíme integraci |
(integrace je prováděna interpolací x-ových a y-nových hodnot kubickými slipny) | |
iMin, iMax | určují, které body bereme při interpolaci do úvahy |
y2[ ] | pomocné pole, ve kterém jsou uloženy druhé derivace v interpolovaných bodech |
POZOR ! pole y2[ ] toto pole musí být inicializováno procedurou Spline | |
Od, Do | určují meze integrálu |
x[ ], y[ ] | x-ové a y-ové souřadnice bodů, kterými provádíme interpolaci |
iMin, iMax | určují, které body bereme při interpolaci do úvahy |
x | bod, ve kterém chceme znát interpolovanou hodnotu |
PROCEDURE LinRegrese( x[i=iMin TO iMax],y[ ], VAR a,b)
Proloží přímku zadanými body
Parametry: | Jako lokální proměnné jsou použity: | ||
x[ ] | nezávisle proměnná (např. čas měření) | R | korelační koeficient |
y[ ] | závisle proměnná (např. naměřené hodnoty) | SR | reziduální součet čtverců |
a,b | parametry proložené přímky tvaru y = ax + b | s | odhad směrodatné odchylky |
sa | odhad směrodatné odchylky pro koeficient a | ||
sb | odhad směrodatné odchylky pro koeficient b |
Parametry: | Jako lokální proměnné jsou použity: | ||
x[ ] | nezávisle proměnná (např. čas měření) | R | korelační koeficient |
y[ ] | závisle proměnná (např. naměřené hodnoty) | SR | reziduální součet čtverců |
a | koeficienty polynomu; | s | odhad směrodatné odchylky |
uvažovaný model ) | |||
N | stupeň prokládaného polynomu |
Parametry: | Jako lokální proměnné jsou použity: | ||
x[ ] | nezávisle proměnná (např. čas měření) | R | korelační koeficient |
y[ ] | závisle proměnná (např. naměřené hodnoty) | SR | reziduální součet čtverců |
a,b | parametry modelu ve tvaru | s | odhad směrodatné odchylky |
sa | odhad směrodatné odchylky pro koeficient a | ||
sb | odhad směrodatné odchylky pro koeficient b |
INT | N | celkový počet pozorování (definovaných hodnot x[ ] ) |
REAL | Sum | součet všech definovaných položek vektoru x[ ] |
REAL | Sum2 | součet druhých mocnin x[ ] |
REAL | Minimum,Maximum | nejmenší a největší hodnota v x[ ] |
REAL | Prumer | průměr |
REAL | Median | medián (neboli "střed" x[ ] - tzn.,že |
počet Median je roven počtu Median | ||
REAL | Rozptyl | rozptyl je definován jako |
REAL | SmerOdch | směrodatná odchylka, je rovna |
REAL | Sikmost | koeficient šikmosti |
REAL | Spicatost | koeficient špičatosti |
REAL | Rozpeti | rozpětí x[ ], šili (Maximum - Minimum) |
REAL | K1 | dolní (K1) a horní (K3) kvartil. Pokud bychom |
REAL | K3 | vektor x[ ] uspořádali vzestupně podle velikosti, |
K1 a K3 odpovídají a | ||
REAL | IkRozpeti | interkvartilové rozpětí neboli (K3 - K1) |
INT | Nv1SmO | počet pozorování, která leží v intervalech |
INT | Nv2SmO | (Prumer-i*SmerOdch,Prumer+i*SmerOdch), i=1,..,3 |
INT | Nv3SmO | |
REAL | Pv1SmO | jsou to Nv1SmO ... Nv3SmO |
REAL | Pv2SmO | převedena na procenta |
REAL | Pv3SmO |
x[i=iMin TO iMax] | (* vektor pozorování (data) *) |
Skupina[j=jMin TO jMax] | (* středy skupin pozorovaných hodnot (dat) *) |
Cetnost[j=jMin TO jMax] | (* četnosti těchto skupin *) |
PocetTrid | (* počet skupin (tříd), do kterých byla data rozdělena. Je vždy <= 16) |
Upravená knihovna STAT.FML, která byla rozšířena o další procedury a funkce:
PROCEDURE Dnorm(x,VAR f,g,BOOLEAN VAR typ)
Distribuční funkce normalního rozdělení.
x= argument funkce rozdělení
f= distribuční funkce (typ=FALSE)
f= 1 - distribuční funkce (typ = TRUE)
g= rozdělovací funkce (derivace distribuční funkce)
FUNCTION REAL Dfinv(alfa)
Kvantil normalního rozdělení pro hladinu významnosti alfa (obvykle 0.05)
FUNCTION REAL Tstud(alfa, INT n)
Kritické hodnoty Studentova rozdělení (Studentovy koeficienty) pro hladinu
významnosti 1-alfa a pocet stupnu volnosti n
PROCEDURE PolynRegrese( x[i=iMin TO iMax],y[ ], a[j=j0 TO N], da[ ],w[ ],alfa)
Standartní procedura PolynRegrese byla rozšířena o vypočet disperze koeficientu
polynomu a[ ] (pole da[ ]) a interval spolehlivosti na hladině
významnosti 1-alfa (pole w[ ]) v jednotlivých bodech x[i]
Procedury LinRegrese a SpecLinRegrese byly upraveny nevýznamně
Knihovna MARQ.FML umožňuje provádět nelineární regrese metodou nejmenších
čtverců s použitím Marquardt-Levenbergova algoritmu parametry minimalizace
(např. maximální počet iterací) jsou uvedeny na začátku hlavní časti
knihovny.
Model TESTMARQ. FM: Hledání parametrů Rosenbrockovy funkce.
Výsledky minimalizace jsou ukládány do souboru definovaném na začátku
těla programu počáteční odhady hlednaných parametrů jsou uvedeny na konci
datového souboru TESTM.DAT.
Pomocné soubory:
TESTM. DAT data pro TESTMARQ.FM - Rosenbrockova funkce s šumem, který
má Gaussovo (normalní) rozdělení
TESTM. OUT ukázka výstupniho souboru
KMITY2.FM hledání parametrů tlumených kmitů (kmity tyče) - 5 parametru.
Počáteční odhad parametrů se provede sejmutím polohy tří významných bodů
na měřené závislosti pomocí myši.
KMITY2.DAT data pro KMITY2.FM (reálná data naměřená soupravou IP-COACH)
KMITY2.OUT ukázka výstupního souboru
Literatura:
Rektorys K.: Přehled užité matematiky, SNTL Praha, 1968
Šťastný F.: Fyzikální praktikum pro nefyzikální obory, UJEP Brno
Novák M.: Úvod do praktické fyziky, UJEP Brno 1989
Brož J. a kolektiv: Základy fysikálních měření I, SPN Praha 1967
Hanousek J. a Charamza P.: Moderní metody zpracování dat - matematická
statistika pro každého, Grada Praha 1992, ISBN-80-85623-31-5
Meloun M. a Militký J.: Statistické zpracování experimentálních dat,
Edice Plus, Praha 1994, ISBN 80-85297-56-6
Novák M. a kolektiv: Fyzikální praktikum I, UJEP Brno 1982
Celý J.: Programové moduly pro fyzikální výpočty, UJEP Brno 1985
Humlíček J.: Základní metody numerické matematiky, UJEP Brno 1980
Bajcsy J., Kodaj D., Kováč K., Smieško V.: Automatizované
systémy merania riadené mikropočítačmi, ALFA Bratislava 1986
Sobotka Z.: Přehled číslicových systémů, SNTL Praha 1981
Matoušek A., Hradil F.: Provozní měření v elektrotechnice, STRO.M
Praha 1996
ČSN 35 6505 ze dne 26.11.1975, ÚNM Praha 1975
Budíková M., Mikoláš Š., Osecký P.: Teorie pravděpodobnosti a matematická
statistika (sbírka příkladů), Masarykova Univerzita, Brno 1996,
ISBN 80-210-1329-x
Budíková M., Mikoláš Š., Osecký P.: Popisná statistika,
Masarykova Univerzita, Brno 1996, ISBN 80-210-1210-3
Kožíšek J.: Statistická analýza, ČVUT Praha 1996, ISBN 80-01-00965-3
Kožíšek J.: Statistická analýza, Příklady, ČVUT Praha 1997, ISBN 80-01-01617-X
Novotný J.: Vybrané statě z fyziky (Zpracování experimentálních dat),
ČVUT Praha 1994, ISBN 80-01-01052-X
Beneš V., Dohnal G.: Pravděpodobnost a matematická statistika,
ČVUT Praha 1993, ISBN 80-01-00911-4
Ďaďo S., Kreidl M: Senzory a měřicí obvody,
ČVUT Praha 1996, ISBN 80-01-01500-9
Fajt V., Haasz V., Sedláček M: Elektrická měření,
ČVUT Praha 1996, ISBN 80-01-00751-0
Bráza A., Jenčík J.: Technická měření,
ČVUT Praha 1996, ISBN 80-01-01495-9