数値解析授業での電卓による演習
宮 地 功*
(昭和55年4,月28日受理)
Exercises in Teaching Numerical Analysis with the Pocket Calculator
Isao MlyAJI
(Received April 28, 1980)
It has been reported to improve oral teaching in numerical analysis by programrning exercises. This paper proposes teaching numerical analysis in the better way than in the already reported way. Numerical analysis is taught for a hour weekly. One numerical solution is taught for two weeks. ln the first week make calcu−
lations with the pocket calculator after explaining the nurnerical solution. ln the second week make a program of the numerical solution after explaining the program. The improvement was effective in order to deepen understanding the numerical solutions.
1.序
論学習者の質の低下は,講義だけの授業の実施を困難にし ている。特に,数式を扱う授業あるいはその学科の専門外 の授業においては,そのことが痛感される。それ故,その 授業中,授業内容が少しでも理解され,何とか充実したもの にする努力を払うことが要請される。このような要請から 著者の担当している数値解析では,数値解法あるいは誤差
解析の説明とその数値解法のFORTRANプログラム演習を組み合わせた授業を展開していることを先に報告した3)。
数値解法のFORTRANプログラムの作成においてはまずま
ずの雰囲気の授業であるが,数値解法などの説明の際は,
学習者が騒々しい雰囲気の中で授業を進めるので,学習意 欲のある者さえ嫌にさせ,充実した時間とはなっていなか った。このような状態を改善するため,数値解法などの説 明を短縮して,その残りの時間でその数値解法についての 電卓による計算演習をすることにした。この計算演習を取 り入れることによって以前より解法がよく理解されるよう になっただけでなく,解法の説明も以前より良く聞くよう になり,かなり良好な授業改善ができた。ここでは,数値 解析授業での計算演習の方法について報告する。
以下では,まず数値解析の授業方法の概略について述
べ,続いて呉体的な例に基づいて計算演習の方法を数値解 析授業における位置付けをしながら述べる。最後に,提案
した演習方法の効果などについて論ずる。
2.授業方法の概説
ここで提案する演習方法は,前年度の「数値解析」授業
の反省から考えられたもので,昭和54年度1年間実施し た。対象者は本校機械工学科4年の2クラスである。授業*機械工学科
Start Expユanation
盾?@numerical
@ SOlution PresentatiQn
@ and
??垂撃≠獅≠狽奄pB
pf examples Presentation pf alterable
@ parts
CalculatiQロ@ with
狽??@pocket モ≠撃モ浮撃≠狽盾Explanation
@ of
狽??@program
Progra㎜ing@ with
高≠窒求@cardsStOP
Fig.1 Procedure for teaching numerical analysis.
津山高専紀要第18号(1980)
時間は1週50分である。この数値解析の意味は,計算機の
ための数値計算法,数値計算に関する数学的理論.
白l的方法(シミュレーション)の3つの立場がある5)。著者は
第1の意味で授業を進めている。1つの解法について,授業は2週聞行ない,Fig.1のような手順で行なう。まず,
第1週には,前半に各数値解法の説明としてOHPで提示し
ながら応用範囲,解法の具体的手順,誤差の程度,などを
説明する。後半には,説明した解法の1つについて電卓による計算演習を行なう。この演習は,Fig.2,3のようなプ
リントを配布して,この表を完成する形式で進める。この プリントの下端には計算式を示して,計算法を確実に理解 できるようにしている。また,この計算式には,関数を記 入していないが,授業の際に与える。このような関数の係 数は,出席番号あるいは学籍番号で置き換える。従って,
得られる数値は学習者全員異なる。演習時間の不足する学
習者は,次の週までの宿題にしている。次に,第2逓の前半には解法の説明の復習をしながら解法のプログラム,入 力データ,処理結果,誤差の程度などを説明する。後半に
は,FORTRAN形式マークカード3)を用いてプログラム演習を行なう。このプログラムの関数の係数は,電卓によ.る 演習と同様に学習者ごとに変える。この第2週のプログラ ム演習については,すでに報告した3)ので,詳しい説明は
省略する。このように2週間で1つの数値解法を終えるようにして
いる。この方法は,どの時間も演習を行なうようにして,
受身的な授業をできるだけ避けて学習者自身が能動的に取 り組むように改善した方法である。すなわち電卓による計 算演習とプログラム演習を組み合わせて,授業が主に演習 を行なうことにより展開されるようにしたものである。こ の方法によって,数値解法がより良く理解されるようにな り,更にプログラムの把握が良くなされるようになった。
Table 1 Contents of teaching numerical analysis.
Contents
iPresented
rate (%)
Solution
of equation Least square
methodSimultaneous
linear equationInterpolation Numerical integrqtion
Ordinary differential
equation
MonteCarlo
methodSimulation
NewVon−Raphson s method Regula falsi method Linear function Power function
Gauss−Jordan s method
Lagrange s method
Trapezoidal formula Simpson s 1/3 formula
Euler s rnethod Runge−Kutta s method
Numerical integration
Mechanical vibraion
92
55nヲ0︾
93 88
−占OQVQ︾ 0︷り ◎り8
70
3.計算演習の方法
数値解析の授業では,Table 1のような内容を扱ってい る。この新しい電卓による計算演習は,昭和54年度1年間 実施した。この授業での演習は,Table 1の右欄に数値の 記入された10題について行なった。ここでは,「Euler法に
よる常微分方程式の解法」について,演習方法を具体的に
説明する。まず,講義としてOHP用シート3枚によって常微分方
程式の解法の使用される分野,種々の数値解法の概略,お よびEuler法による常微分方程式の解法を説明する。その 後,Fig.2のようなプリントを配布して,この用紙をその
ままトラペンアップで写したOHPシートに例題について全て計算した数値を提示する。その際プリントに示されて いない関数を次のように与える。
!(x,の==(7一の )/∂
Y(x) = 7 i1 一exP (一cz t/b) ] /a
ここで,aは出席番号であり, bは学籍番号の下2桁であ る。従って,関数の係数は;学習者全員異なる。このよう に提示した例題について,Euler法の計算手順を具体的に
説明する。続いて,各自Fig.2のプリントの表を完成する形で演習 に入る。学習者は同じ解法について,異なった関数で演習 をする。電卓に数値を入力する手間と数値解法の誤差の程 度を知ることの両面を考えて,計算は有効数字5桁で行な
うようにしている。参考のため,モンテカルロ法による数 値積分のプリントをFig.3に示す。
4.考 察
ここでは,数値解析において,毎時間後半に演習を行な
い,講義と演習を密接に相互に関連づけた授業について述
べた。このような授業の展開の方法は,学習者が積極的に
授業に取り組むように意図したものである。数値解法の説
明と電卓による計算演習,および数値解法のプログラムの
説明とプログラム演習を1つのサイクルとして授業を進め
ている。計算演習で行なった関数と同じ関数についてプロ
グラム演習を行なっている。従って,復習あるいは再確認
できるので,プUグラム演習が昨年より良く理解されるよ
うになった。どちらの演習においても,学習者全員異なる
電卓に.よる演習
学籍番号
の下2桁 1 年 積分区間(Xo, Xn)=( ,
等分数n=4のとき(きざみh=
常微分方程式のEuler法による解法
番函
南
初︶
組︶ 氏名
(xo, ye) = ( ︶
願9膨
o 1
2
3 4xi ツi f(xi, yi)
hf(xi, Yi)
真の値Y(Xi) 相対誤差ei等分数n=8のとき(きざみh=
︶.多
o 1
2 3 4 5 6 7 8
xi 」 i f(xi, yi)
hf(xi, Yi) 陣の値y(・・) 1相樵瀬
常微分耀式嘉イ(x,一y)一
真の解Y(x)=
Eulerの公式yi+1=飽十hf(Xi, ) i)
き ざ み h ・=Xn−Xo
相対誤差皓一㌧子
Fig.2 Calculating sheet fsr the numerical solution to the ordinary differential equation by Euler s method.
関数あるいはデータについて行なうよう出席番号および学 籍番号を用いて関数の係数あるいはデータを変えるように している。計算:演習は,Fig.2,3のプリン5の内容から も推察できるように計算方法が理解できれば単純作業であ る。計算方法のわかりにくかった演習としては,Lagrange 補間法,Simpson公式, Runge−Kutta法,モンテカルロ法
による定積分などであった。実際これらの数値解法は,他 の解法に比べてやや複雑である。そのため,計算するのに 時間が不足する学習者がいる。その場合には,次週の授業
までの宿題とした。その結果Table 1のように提出率は
非常に良好である。これらの演習は,計算する関数が全員
異なり,学習者自身で行なわなければならない。そのため,演習中かなり熱心に問題に取り組み,お互いに教えあ
ったり,質問をするなど良い雰囲気となっている。このよ
う.に数値計算を自分で具体的に行なってみるとかなり理解
が深められることが感じられる。実際,プログラム演習で
のプログラムの内容および処理結果を従来より良く理解す
るようになっている。従って,授業改善の初期の目的をか
津山高専紀要第18号(1980)
電卓による演習
学籍番号
の下2桁 1 年
組
モンテカルロ法による数値積分
番 氏名初 期 値Po =
●多 pi qi Uli U2i
ノ(Uli,π2i)
12⁝34⁝56ブ8す10⁝1112⁝1314⁝1516⁝1718﹇1920 −凸隠ウ8⁝3
4⁝5⁝6⁝7︸8⁝9⁝10
合 計 Σfi i=1
︿S
真 値 8
相対誤差 e重 積 分
被積分関数
原始関数
数値積分公式
s ==JgJ:f(x, y)dx dy
一=
@[F(x)]g[G(y)]:
ノ(X,Pt) = 乱数の発生(一様乱数)
F(x) == Po 一=
C(y)= Pi+1=765Pi(mod 32768)
9== 4. S} fi qi+i−Pi+i/32768
n i一一1
fi一一f(Uli, U2i)
1∫=く〜2ゴー1
u2i=q2i
Fig.3 Calculating sheet for the numerical integration by Monte Carlo method.
なり達成できたと考えられる。
学習意欲の少ない学習者が多い場合,授業内容の作業化
が授業を充実する1つの方法である。この講義と演習を組み合わせた授業方法では従来の方法に比し,教師の負担が 増えることは確かである。また,他の教科目の授業改善の
方法についての報告もすでにいくつか行なったが1)・2)・4),いずれも従来の方法より準備,採点等に時間を取られ,教 師のかなりの負担増となっている。しかし,学校教育の主 体は授業であることを考えると止むを得ないのではないか
と思う。
5.結 言
数値解析における授業を改善する方法として,講義と演
習を組み合わせて,学習者が積極的に授業に取り組む方法
を実践していることを報告した。1週50分の授業時間を2 週分で1つの数値解法の説明を終えるようにした。1つの数値解法の内容は,解法の説明,電卓による計算演習,解
法プログラムの説明,プログラム演習の順で行なわれる。
この授業方法の後半はすでに報告しているので3),本報告 では前半の電卓による計算演習について詳しく論じた。こ の計算演習を実施することにより,どの時聞も演習のある
授業となり,かなり熱心に演習に取り組んでいる。これは,学習者ごとに数値を変えていることが効を奏している ように思われる。その結果,計算演習とプログラム演習と で相補い合って数値解法の理解を深めることが可能となっ た。今後も,数値解析の授業が充実したものとなるよう改 善して行くつもりである。
終りに,教育の最適化を計るためにORの分野で常に御
指導戴いている京都大学工学部教授三根久先生,助教授大 野勝久先生に深謝致します。また,常日頃からいろいろと 御指導戴いている香川医科大学中原寿喜太先生,常に暖か い御支援を戴いている津山高専堀悦男先生,並びにプログ
ラム演習の電算機処理を円滑にして戴いた赤堀登美子氏に
感謝致します。参 考 文 献
1)宮地功:「ステップ学習方式によるFORTRANプロ
グラミング」,電子通信学会技術研究報告
78−112 (1978) 1−4.2)宮地功:「教育への電子計算機利用」,全NEACユ