Pokroky matematiky, fyziky a astronomie
Kliment Šoler Programovaná učebnice matematiky pro vysoké školy technické Pokroky matematiky, fyziky a astronomie, Vol. 14 (1969), No. 4, 182--193
Persistent URL: http://dml.cz/dmlcz/139283
Terms of use: © Jednota českých matematiků a fyziků, 1969 Institute of Mathematics of the Academy of Sciences of the Czech Republic provides access to digitized documents strictly for personal use. Each copy of any part of this document must contain these Terms of use. This paper has been digitized, optimized for electronic delivery and stamped with digital signature within the project DML-CZ: The Czech Digital Mathematics Library http://project.dml.cz
VYUČOVÁNÍ MATEMATICE A FYZICE
PROGRAMOVANÁ UČEBNICE MATEMATIKY PRO VYSOKÉ ŠKOLY TECHNICKÉ KLIMENT ŠOLER, P r a h a
V Pokrocích MFA 13 (1968), č. 1, str. 33 vyšel článek J. Mikulčáka „Programovaná učebnice moderní matematiky", který uvádí ukázky z americké programované učebni ce Modern Mathematics a ukazuje, že její programované zpracování učiva má řadu nedostatků. Upozorňuje, že by bylo účelné vyzkoušet kombinovanou formu práce, při níž by na učitelův výklad navazoval nácvik žádoucích algoritmů a dovedností pomocí programovaných textů, popř. pomocí vyučovacích strojů. Tento požadavek splňuje do značné míry sovětská programovaná učebnice Matematičeskij praktikum dlja vtuzov, kterou vydalo nakladatelství Vysšaja škola Minsk v r. 1967. Kniha má 205 stran a obsahuje vedle úvodu šest kapitol, v nichž se probírají následující témata výpočetní techniky: 1. Řešení soustavy lineárních algebraických rovnic metodou postupného vylučová ní neznámých (Gaussova metoda) — 13 stran 2. Interpolace funkcí — 31 stran 3. Přibližné řešení algebraických rovnic — 44 stran 4. Přibližný výpočet určitých integrálů — 25 stran 5. Přibližné řešení diferenciálních rovnic — 40 stran 6. Přibližný výpočet pomocí mocninných řad — 24 stran 7. Přibližná harmonická analýza — 22 stran. Kniha je praktickou příručkou pro praktická cvičení z výpočetní techniky na vy sokých školách technických, ale předpokládá, že studenti již absolvovali příslušné přednášky z dané tematiky. U každého tématu je nejprve uveden krátký výklad základních teoretických poznat ků (bez jejich odvození); k objasnění tohoto výkladu, k jeho procvičení a pro kontrolu správného pochopení jsou zařazeny vhodné otázky a příklady. Pro kontrolu správnos ti řešení a jeho postupu kniha využívá větveného programování. Řešení je přitom rozděleno na jednotlivé kroky, po nichž vždy následuje otázka s několika uvedenými výsledky. Student volí tu odpověď, která odpovídá výsledku jeho výpočtu a pokračuje pak na straně uvedené u zvolené odpovědi. Tam najde potvrzení správnosti svého výsledku a další pokyny pro postup výpočtu, popř. další výklad nebo upozornění na chybu, které se dopustil, nebo konečně podrobný výpočet daného kroku. Na konci 182
každé kapitoly je shrnutí, při němž student znovu souborně prostuduje všechny částečné výsledky teorie, které ve skutečnosti tvoří souvislý výklad přerušený pouze vloženými kontrolními otázkami a úlohami. Po tomto teoretickém uvedení a jeho procvičení následují pokyny k vlastnímu provedení příslušného matematického praktika, které obsahují podrobný návod pro vlastní provedení výpočtu a pro jeho přehledný zápis (obyčejně ve formě vhod ných tabulek). Nakonec je zařazeno několik příkladů (s uvedenými výsledky), které tvoří jádro samostatné činnosti studenta při studiu tohoto matematického praktika. Jako ukázka je v dalším zařazena prvá kapitola uvedené příručky. Byla vybrána proto, že je nejkratší a má nejjednodušší obsah. Její omezený obsah a rozsah ovšem nedovolují ukázat plně možnosti programování učiva jako další rozsáhlejší kapitoly, ale přece je z ukázky dobře patrno, že příručky tohoto typu mohou být i pro studenty vysokých škol technických a přírodovědných velmi užitečné a že mohou dobře pomoci při řízení jejich samostatné práce. Příručka je dokladem toho, že zásad a pomůcek programovaného učení je dobře možno využít i na vysokých školách, jestliže způsob programování přizpůsobíme duševní úrovni studentů, pro něž jsou určeny. Protože ve větvené programovaném textu je třeba stále listovat, je ukázkový programovaný text uvedený v tomto článku opatřen vlastním číslováním stran umístěným v hranaté závorce uprostřed spodní části stránek. Na toto číslování se vztahují také odkazy v programovaném textu. Vzhledem k tomu, že časopis má větší formát než originální kniha, bylo třeba také text rozdělit jinak než v originále, kde je text rozdělen řidčeji. Autor děkuje tiskárně za pečlivé zlomení sazby. Metoda probíraná v uvedené příručce a v tomto článku programovaným způsobem je uvedena neprogramovaně také v některých našich příručkách a učebnicích. Jsou to na příklad FADDĚJEV D. K. - FADDĚJEVOVÁ V. N.: Numerické metody lineární algebry, kterou v řadě „Teoretická knižnice inženýra46 vydalo Státní nakladatelství technické litera tury. Praha 1964 (oddíl II: Finitní metody řešení soustav lineárních rovnic, kapitola 16: Gaussova metoda; strana 141—159). REKTORYS K. a kol.: Přehled užité matematiky. Státní nakladatelství technické literatury Praha 1968, oddíl 30: Numerické metody lineární algebry, kapitola 30,1: Eliminační metody; strana 942 a násl. Čtenáři proto mají možnost provést si porovnání programovaného a naprogramo vaného podání téže učební látky. Je z něj patrno, že autoři programované příručky u běžných studentů sovětských vysokých škol technických, pro něž je matematika přeci jen pouze pomocnou disciplínou, znalost speciální matematické symboliky ne předpokládají a proto jí ve svém výkladu nepoužívají. Výklad i jeho zápis se tím sice poněkud prodlouží, ale studium textu se tím studentům, kteří tuto symboliku nemají dokonale vžitou, usnadní. Ale i jinak je tento populárnější způsob výkladu v progra movaných učebních textech nejběžnější. 183
ŘEŠENÍ SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC METODOU POSTUPNÉHO VYLUČOVÁNÍ NEZNÁMÝCH (GAUSSOVA METODA) § 1. Úvod Při řešení soustavy n lineárních rovnic o n neznámých užíváme v případě, že deter minant složený z koeficientů u neznámých není roven nule, známých vzorců Kramerových. Těchto vzorců se však při praktických numerických výpočtech pro n > 3 neužívá, protože jejich vyčíslení je obtížné. I pro soustavu tří lineárních rovnic se třemi neznámými (n — 3) jsou Kramerovy vzorce těžko použitelné v případě, že koeficienty rovnice jsou vyjádřeny vícecifernými čísly. § 2. Přímý postup Budiž dán systém n lineárních rovnic s n neznámými (1)
a11x1
+ a12x2
+ ... + alnxn
=
aUn+l
a21x1
+ a22x2
+ ... + a2nxn
=
a2,n+1
a
+ an2X2
+ ••• + annXn
~
nlXl
a
n,n+ 1
Předpokládejme, že koeficient při xt v prvé rovnici není roven nule (a11 4= 0). Je-li alx — 0, stačí změnit pořadí zápisu rovnic nebo nebrat za neznámou xu ale některou jinou. Koeficient u této neznámé označíme jako vedoucí koeficient prvého kroku. Nejprve vydělíme obě strany prvé rovnice číslem all5 obě strany druhé rovnice číslem a2i a td., tj. každou rovnici vydělíme jejím vedoucím koeficientem prvního kroku. Je-li v některé rovnici tento koeficient roven nule, pak se dělení této rovnice netýká (tj. opíšeme ji beze změny). Otázka: Zúčastní se prvého kroku všechny rovnice soustavy • 2xx
4x2 + 5x3 =
6,2
x2 - Зx3 = -2,3 Зx2 + 2x3 =
7,01
Odpovědi: 1. Prvého kroku se zúčastní všechny rovnice
Str. [3] cf
2. Prvého kroku se nezúčastní rovnice x2 - 3x 3 = - 2 , 3
[1] 184
Str. [3] c
Pokračování ze strany [4] a [5] § 3. Zpětný
postup
Z trojúhelníkové soustavy rovnic určíme hodnoty neznámých. Začneme přitom poslední rovnicí, v níž je nalezena hodnota poslední neznámé xn. Abychom určili x n _i, dosadíme určenou hodnotu xn do předposlední rovnice. Další neznámou x„_ 2 vypočteme tím., že do rovnice č. (n - 2), tj. druhé od konce, dosadíme hodnoty xn a xn-1. Tak určíme postupně hodnoty všech neznámých. Proces, pomocí něhož získáme řešení soustavy rovnic (l) na str. [1] vyřešením trojúhelníkové soustavy rovnic (3) na str. [4], se označuje zpětný postup. Příklad: Zpětným postupem řešte trojúhelníkovou soustavu rovnic, které jsme dostali při dosavadním výpočtu: x! — 3x 2 + 2x 3 =
7,01
x 2 — 3x 3 = —2,3 x 3 = -0,46 Odpovědi:
a
1. xx = 3,11; x2 = 2,8; x 3 = -0,46
Str. [3] b
2. Vychází jiné řešení
Str. [3] f
Správně!
Obě soustavy rovnic jsou ekvivalentní, protože soustava (3) vznikla ze soustav (l) ekvivalentními úpravami. Řešte příklad na straně [5]! b Soustava rovnic (3) vznikla ze soustavy (1) ekvivalentními úpravami (dělením jejich rovnic určitými čísly — koeficienty u neznámých — a sloučením těchto rovnic). Proto jsou obě soustavy rovnic ekvivalentní. Řešte příklad na straně [5]!
[2]
185
a
Správný výpočet vede k jedné z následujících trojúhelníkových soustav rovnic: x
í x t — 2x 2 + 2,5x3 = 3,1 l x2 + 0,5x3 = -3,91 [ x3 = -0,46
i — 3x 2 + 2x 3 = 7,01 x2 + 0,5x3 = -3,91 x3 = -0,46
[x! — 2x 2 + 2,5x3 = x2
:=:
^x3
3,1 ---,5
x3 = - 0 , 4 6 . Vyšla-li vám některá z těchto soustav rovnic, je váš výpočet správný a pokračujte na str. [2]. Vyšla-li vám jiná odpověď, vraťte se na str. [5] a řešte příklad znovu. h
Nesprávně! Vraťte se na str. [2], prostudujte ji ještě jednou a řešte příklad znovu!
c
Správně!
Rovnice x2 — 3x 3 = —2,3 se prvého kroku nezúčastní, protože její koeficient při x! je roven nule. Pokračujte na str. [4]! d
Nesprávně! V rovnici x2 — 3x 3 = —2,3 je koeficient při xx roven nule, proto se tato rovnice prvého kroku nezúčastní. Přejděte na str. [4]! e
Správně! Pokračujte na str. [2]!
f
Správně!
Vyšlo-li vám xt = — 3,11; x2 = —3,68; x3 = —0,46, je Vaše řešení správné a můžete přejít na str. [6]. Vyšel-li vám jiný výsledek, prostudujte str. [2] podruhé a řešte danou soustavu rovnic znovu!
[3] 186
Pokračování ze str. [1] V soustavě rovnic, kterou dostaneme jejich vydělením koeficientem při xx u
\ 2
xt + - ~ x 2 + ... +
u
'11
a->2
u
ll
fliи
Xi + -^x2 a21
+ . . . + -^x„ a2l
a-y
ll n
+
л
= -^--1 a2l
* i + — x2 + . . . + ---i xn anl anl
=2ьг±. anl
odečteme postupně první rovnici od všech rovnic ostatních. Dostaneme tím soustavu rovnic (2)
x1 + b12x2
+ ... + blnx„ =
bUn+1
b22x2
+ . . . + b2nxn
=
b2jtl+1
bn2x2
+ . . . + bnnxn
—
bnn+1
V této soustavě zůstává xx pouze v první rovnici. Nyní přejděme k druhému kroku. Každou z rovnic — počínaje druhou — vydělíme koeficientem při x 2 v této rovnici a pak odečteme druhou rovnici od všech následují cích. Je možno opět předpokládat, že b22 + 0. Je-li b 2 2 = 0, postupujeme obdobně jako při prvém kroku v případě, že bylo au = 0! Koeficient b22 označujeme jako vedoucí koeficient druhého kroku. Spojíme-li prvé rovnice všech takto postupně vykonaných kroků, dostaneme trojúhelníkovou soustavu rovnic (3)
x{ + b12x2 X
2
+ b13x3 C
+ ... + blnxn
X
=
+ 2 3 3 + •.. + C2nXn =
v
bUn+1 C2n+1
л — ' n,n+ l
Proces, pomocí něhož dostáváme koeficienty trojúhelníkové soustavy rovnic, označujeme jako přímý postup. Pokračování na straně [5]
W 187
Otázka: Je získaná soustava rovnic (3) ekvivalentní s původní soustavou rovnic (1) uvedenou na str. [1]? Odpovědi: 1. Soustavy jsou ekvivalentní
Str. [2] a
2. Soustavy nejsou ekvivalentní
Str. [2] b
Příklad: Pro níže uvedenou soustavu rovnic proveďte přímý postup a určete sou stavu rovnic ekvivalentní k soustavě dané 2xj — 4x 2 + 5x 3 =
6,2
x2 - 3x 3 = - 2 , 3 x! — 3x 2 + 2x 3 =
7,01
xí - 3x 2 + 2x 3 =
7,01
Odpovědi: \.
x2 — 3x 3 = —2,3 x3 = -0,46 Str. [3] e 2. Vychází jiná soustava rovnic
Str. [3] o
[5]
188
Přechod ze str. [2] § 4. Závěry a
poznámky
Gaussova metoda řešeni soustavy n rovnic s n neznámými záleží v tom, že nejprve sestavíme pomocnou trojúhelníkovou soustavu rovnic (3) uvedenou na str. [4] a potom jejím řešením určíme hodnoty všech neznámých. Nebereme zde v úvahu ty případy, kdy soustava rovnic nemá řešení nebo kdy jich má nekonečně mnoho, tj. předpokládáme, že determinant soustavy není roven nule. Metoda uvedená v této kapitole je přesná; protože však při dělení daných rovnic vedoucími koeficienty při neznámých obyčejně bereme pouze přibližné hodnoty, bude pak řešení také pouze přibližné. Nebudeme se zde zabývat otázkou přesnosti výpočtu při hodnocení výsledných hodnot. Zájemci to najdou v knize L. Z. RUMŠICKU: Vyčislitelnyj laboratornyj praktikum (Moskva 1961). Je třeba poznamenat, že blíží-li se koeficienty rovnic k nule, může to být příčinou značného snížení přesnosti. Abychom dosáhli pokud možno velké přesnosti řešení, je vhodné volit za xx tu z neznámých, u níž je absolutní hodnota koeficientu v prvé rovnici soustavy (1) na str. [ l ] největší. Za x2 pak zvolíme tu z neznámých v soustavě rovnic (l), u níž má největší absolutní hodnotu koeficient v druhé rovnici atd. Uvedený postup při vylučování neznámých se označuje jako schéma hlavních prvků. Bližší podrobnosti jsou uvedeny v knize FADDĚJEV D. K.-FADDĚJEVA V. N.: Vyčislitelnyje metody linejnoj algebry. Moskva — Leniigrad 1963. § 5. Kontrolní
otázky
Soustavný popis Gaussovy metody je v této kapitole uveden na stránkách [1], [4] a [5], [2]. Pročtěte je znovu souvisle za sebou v uvedeném pořadí a odpovězte pak na následující kontrolní otázky: 1. Které koeficienty označujeme jako vedoucí? 2. V čem záleží přímý postup při řešení soustavy lineárních rovnic Gaussovou metodou? 3. Co označujeme jako zpětný postup? 4. Je Gaussova metoda přesná nebo přibližná? S Gaussovou metodou se můžete podrobněji seznámit v knihách — cituje se 7 sovětských příruček a učebnic výpočetní techniky.
[6]
189
§ 6. Instrukce k provedení práce Uvažujme soustavu tří lineárních rovnic se třemi neznámými. Tuto soustavu vyřešíme Gaussovou metodou. Pro soustavnou kontrolu prováděných výpočtů budeme postupovat následujícím způsobem: Sestavíme součet koeficientů při nezná mých a absolutního členu každé rovnice. S tímto kontrolním součtem pak provádíme tytéž početní operace jako s koeficienty dané rovnice. Po každé operaci s koeficienty a s absolutním členem opět určíme jejich součet a porovnáme jej se součtem kon trolním. Všechny hodnoty získané při výpočtu zapisujeme do tabulky (l) uvedené na str. [8] Výpočet provedeme podle následujícího plánu: 1. Zapíšeme rovnice v takovém pořadí, aby a11 + 0 (4)
a11x1 + a12x2
+ a13x3
= a14
^ 2 1 * 1 "+" # 2 2 * 2 "+" ^ 2 3 * 3 ^ 3 1 * 1 "^
fl
32*2 + ^ 3 3 * 3
= =
^24 fl
34
2. Koeficienty soustavy rovnic i kontrolní součty zapíšeme do oddílu I. tabulky (l). 3. Každou rovnici vydělíme jejím koeficientem při xx. Dostaneme soustavu rovnic: (5)
xt + b 1 2 x 2 + b13x3 X1
+ U22X2
= b14
+ O23-^'3 + ^24
* 1 + ^ 3 2 * 2 "+" b33X3
=D34
Koeficienty a absolutní člen zapíšeme do oddílu II. tabulky (l). Tytéž operace provedeme s kontrolními součty. Sečteme koeficienty a absolutní člen každé rovnice a porovnáme je s kontrolním součtem. Jsou-li vypočtené součty rovny kontrolním, přejdeme k dalšímu bodu výpočtu. Nejsou-li si součty rovny, dopustili jsme se chyby a výpočet je třeba provést znovu. 4. Od druhé a třetí rovnice soustavy (5) odečteme rovnici první. První rovnice se přitom nezmění, druhá a třetí dostanou tvar (6)
C22X2 C
X
+
32 2 +
C
C
23*3 X
33 3
=
C
24
=
C
34
Totéž provedeme s kontrolními součty a porovnáme je se součty koeficientů získaných rovnic (oddíl III. tabulky (l)). 5. Získané rovnice soustavy (6) i kontrolní součty dělíme koeficientem při x2. Dostaneme soustavu (7)
x2 + d23x3 x2 + d33x3
= ď24 = a34
Provedeme opět prověrku správnosti výpočtu obdobně jako v předcházejících pří padech (oddíl IV).
[7] 190
Tabulka 1 Koeficienty soustavy rovnic pn *i I
ўľ\X2
û
п a21
x
a
ъ\
a
ъъ
b
b
l\
b
b
l\
ъъ
b
ъ\
1Ъ
c
l\
c
ъ\
lЪ
ll
lЪ
b
b
Ъl
c
ll
C
Ъ1
C
c
1 1
-
VIII
i\
lЪ
b
V
2
i\
a
lЪ
b12
"
x
a
a
1 1 1
IV
VII
a
ll Ъl
—
3
ll
a
a
II
VI
a
a
Ъl
III
absolutní člen
pп x3
d
ъъ
-
d24
lЪ
ъъ
d
ъъ
e
d
e
ъ\
ъ\
*34
~ Z *зз =
d
l\
—
b
l\~
d
iъ
e
ъ\ — *зз e
l
Kontrolní součet
=
&
1 2 И 2 4 - ^IЪŢ^J-
b
lЪ
e
ъ\
ъъ
6. Od druhé rovnice soustavy (7) odečteme rovnici prvou (totéž uděláme s kontrol ním součtem) a dostaneme rovnici (8)
e
X
3 3 3 — ^34
Provedeme opět kontrolu správnosti výpočtu. 7. Získanou rovnici vydělíme koeficientem e33 a vypočteme tak x3. 8. Hodnotu x3 dosadíme do prvé rovnice soustavy (7) a vypočítáme x2. 9. Hodnoty x2 a x3 dosadíme do prvé rovnice soustavy (5) a vypočítáme xt.
[8] 191
§ 7. Příklady Příklad 1: Řešte soustavu tří rovnic o třech neznámých: 2,75x! + l,78x 2 + 1,1 l x 3 = 15,71 3,28xx + 0,71x2 + l,15x 3 = 43,78 l,15x! + 2,70x2 + 3,58x3 = 37,11 Celý výpočet je zapsán v tabulce (2)
Tabulka 2 Koeficienty soustavy rovnic při x!
při x2
přïxз
absolutní člen
Kontrolní součet
I
2,75 3,28 1,15
1,78 0,71 2,70
1,11 1,15 3,58
15,71 43,78 37,11
21,35 48,92 44,54
11
1 1 1
0,647 0,216 2,348
0,404 0,351 3,113
5,713 13,348 32,270
7,764 14,915 38,731
-0,431 1,701
-0,053 + 2,709
7,635 26,557
7,151 30,967
III
IV
-
1 • 1
0,123 1,593
-17,715 15,613
-16,592 18,206
V
-
-
1,470
33,328
34,798
VI VII VIII
x3 = 22,672 x2 = -17,715 - 0,123 . 22,672 = 17,715 -2,789 = -20,504 xt = 5,713 - 0,647 . (-20,504) - 0,404 . 22,672 = 9,820
И 192
Samostatně řešte následující příklady: Příklad 2: Určete řešení soustavy rovnic: 2,3x- + 5,7x2 - 0,8x3 = -6,49 3,5*,. - 2,7x2 + 5,3x3 = 19,90 ÍJx,
+ 2,3x2 - l,8x 3 = -5,09
Odpověď. xx = 1,2; x 2 = —1,3; x 3 = 2,3 Příklad 3: Řešte soustavu rovnic: 7,8XÍ + 3,2x2 + 5,4x3 = 37,78 3,7XÍ - 2,8x2 + l,5x 3 = -0,29 2,5*! + 3,3x2 + 7,1x3 = 59,22 Odpověd: x{ = —1,5; x 2 = 2,3; x 3 = 7,8.
Poznámka autora článku k příkladu 1 Autor sovětské příručky při výpočtu hodnot k příkladu 1 na str. [9] tohoto článku vepsal (patrně přehlédnutím) do oddílu VII. tabulky pouze druhý člen dvojčlenu pro x 2 a dostal tak pro tuto neznámou nesprávnou hodnotu x 2 = — 2,789; této hodnoty pak použil i pro výpočet druhého členu pro neznámou xl9 takže i pro tu dostal nesprávnou hodnotu x1 = 1,642. Předpokládal patrně, že kontrolní součty uváděné v posledním sloupci tabulky vylučují chybu ve výpočtu a neprovedl proto kontrolu dosazením vypočtených hod not do původních rovnic. Neuvědomil si, že výpočty v oddílech VI—VIII již nejsou touto kontrolou podchyceny. Příklad je proto také pěkným dokladem toho, že tuto kontrolu dosazením vypočítaných hodnot neznámých do původních rovnic není možno v žádném případě opomenout.
[10] 193