表ソフト ( 作表・表計算 )
−→ “MS-Excel” を使う
表ソフトの表計算機能はそれなりに強力で、
結構色々なことが出来る
という訳で、今回は、
表ソフトで数理実験
をして遊ぼう!!
現象
• 自然現象 −→ 自然科学
• 社会現象 −→ 社会科学
• 人文現象 −→ 人文科学・文学
• 数理現象 −→ 数理科学・数学
数理実験の準備
• 起動: [スタート] −→ [プログラム]
−→ [Applications] −→ [Excel2007]
(新規ファイル(Excel Book)が開いている)
• 名前を付けて保存: [F12] または
[Officeボタン] −→ [名前を付けて保存]
A10xxyyy-1206(.xlsx) (半角英数字で!!) (自分の学生番号-今日の日付)
途中での保存は、
• 上書き保存: [Ctrl+s]
または [Officeボタン] −→ [上書き保存]
で良い(適宜保存せよ)
本日のお品書き
• √
2 を求める
• うさぎ算(Fibonacci数列)
• 個体数変化の数理モデル
• 九九の表
• 二項係数(Pascalの三角形)
√2 を求める
用意されている平方根関数を用いて 適当なセルで =SQRT(2) (square root = 平方根) とすれば良いのだが、ここでは
四則演算の繰返しで近似計算してみよう
• A1 に 1
• A2 に =(A1+2/A1)/2 として、下にコピー (10くらいまでで良いかな)
• (検算) B1 に =A1^2 として、下にコピー
√2 を求める
• A1 に 1
• A2 に =(A1+2/A1)/2 として、下にコピー (10くらいまでで良いかな)
• (検算) B1 に =A1^2 として、下にコピー この原理:
• a=√
2 なら a= 2 a
• a6= 2
a なら、平均を取れば近付くだろう
√2 を求める
小数点以下の表示桁数を増やしてみると 1.41421356237309000000
内部で保持している計算結果は有限の桁数で、
それ未満は精密な値ではない(丸め誤差) 丸め誤差がなければ延々と値は変わって√
2 に近付いていくが、
或る程度落ち着いたら近似値として良いだろう
−→ この時の誤差: 打切誤差
√2 を求める 誤差:
• 測定誤差
• 計算誤差
? 丸め誤差 (四捨五入による誤差)
? 打切誤差 (計算を途中で打切る誤差)
測定の精度より細かい値は意味がない やたら長い桁の数値を持ち出す人には注意!!
(数字に強いが数理に弱い?)
うさぎ算
次のシートに移ろう (左下のタブをクリック)
• 1 月に子うさぎが 1 対(つがい)いる
• 子うさぎは子を産まない
• 生まれて 2 月目には親うさぎになる
• 親うさぎ 1 対は子うさぎを 1 対産む
1 年後には何対になるだろうか ?
うさぎ算
月 子 親 合計
1 1 0 1
2 0 1 1
3 1 1 2
4 1 2 3
5 2 3 5
6 3 5 8
· · · · · · ·
an=an−1+an−2 (直前の2項の和)
−→ Fibonacci数列
うさぎ算(Fibonacci数列)
• a1=a2=1
• an=an−1+an−2 (n≥3) これを表ソフトで計算しよう
• A1 と A2 とに 1
• A3 に =A2+A1 として、下にコピー どんな風に増えるか ? 直前の何倍くらい ?
• B2 に =A2/A1 として、下にコピー 大体 1.618034 倍くらいに増えるようだ
うさぎ算(Fibonacci数列)
大体 1.618034 倍くらいに増えるようだ 実は、
an= 1
√5
Ã1+√ 5 2
!n
−
Ã1−√ 5 2
!n
で、
1+√ 5
2 ;1.618034 · · ·黄金比
うさぎ算(Fibonacci数列) 黄金比・黄金分割
τ = 1+√ 5
2 =1.61803398· · ·
• 自然界の様々な所に表れる比
• 人間はこの比を美しいと感じるようだ
• τ:1=1: (τ−1)
参考: √
2:1=1:
√2
2 · · · 白銀比
参考: ねずみ算 というのもある
(塵劫記 · · · 江戸時代の数学書)
• 1 月にねずみが 1 対いる
• 親ねずみ 1 対は子ねずみを 1 対産む
(塵劫記の問題では 6 対)
• 生まれて 1 月目には親ねずみになる 1 年後には何対になるだろうか ?
an+1=2an : 等比数列
(現在の個体数に比例して増える)
個体数変化の数理モデル
次のシートに移ろう (左下のタブをクリック)
“現在の個体数に比例して増える”として、
どんな風に増えるか観察してみよう
· · · 数理モデル
• A1 に 0.01
• A2 に =2*A1 として、下にコピー
(大体 20 〜 30 くらいまでで良いかな)
−→ あっと言う間に増える
個体数変化の数理モデル
実際には資源(食糧・空間)が有限なので、
多くなると成長にブレーキが掛かる (より精密と思われるモデル)
• A1 に 0.01
• A2 に =2*A1*(1-0.01*A1) として、
下にコピー (大体 20 〜 30 くらいまでで良いかな)
−→ 頭打ちになる
グラフの作成・挿入 グラフを書いてみよう
範囲指定 −→ リボンメニューの[挿入][グラフ]
−→ グラフの種類・体裁を選択 種類を適切に選択せよ
• 棒グラフ: 分量の比較
• 折れ線グラフ: 分量の変化
• 円グラフ: 分量の割合
• レーダーグラフ: 分量のバランス
など
個体数変化の数理モデル
• A1 に 0.01
• A2 に =2*A1*(1-0.01*A1) として、
下にコピー グラフを書いてみよう −→ ロジスティック曲線
範囲指定(ここでは列指定でも可)
−→ リボンメニューの[挿入][グラフ]
ここではグラフの種類は何にすべき ?
個体数変化の数理モデル パラメタを色々変えてみたい
• A1 に 0.01
• C1 に 2
• C2 に 0.01
• A2 を =$C$1*A1*(1-$C$2*A1) として、
下にコピー これで C1, C2 を変えると自動的に変わる
色々試してみよう
個体数変化の数理モデル
更に実際には、直前の世代だけではなくて、
もう一世代前のツケを払っている、
というモデルの方が近いとも言われている
• A1 に 0.01
• C1 に 2
• C2 に 0.01
• A2 を =$C$1*A1*(1-$C$2*A1) (同じ)
• A3 を =$C$1*A2*(1-$C$2*(A2+A1))
として、下にコピー どうなるだろうか ?
九九の表
次のシートに移ろう (左下のタブをクリック) まず、1 から 9 までのデータを作るには · · ·
1 2 3 · · · 9 1
2 3 ... 9
1, 2, 3, . . . と入力するのは面倒だ
九九の表
1 から 9 までのデータを作るには · · · A2 を 1 とした後、
• A3 に =A2+1 として、A10 まで下にコピー
• 範囲指定 −→ リボンメニューの
[編集][フィル(↓)] −→ [連続データの作成]
• セルの右下隅を摘んで [Ctrl+下にドラッグ]
同様に B1 を 1 とした後、
• C1 に =B1+1 として、J1 まで右にコピー
• 範囲指定 −→ リボンメニューの
[編集][フィル(↓)] −→ [連続データの作成]
• セルの右下隅を摘んで [Ctrl+右にドラッグ]
九九の表
A2:A10 と B1:J1 とに
1 から 9 までのデータが入った B2 にどういう数式を入れたら、
それを B2:J10 の範囲にコピーして
「九九」の表になるか ? (ヒント: 相対参照・絶対参照)
九九の表
折角の表なので、少し見栄えをいじってみよう 縦横の大きさの調整:
• 行の高さ: 行範囲指定
−→ [右クリック][行の高さ]
または、行の境界線をマウスで調整
• 列の幅: 列範囲指定
−→ [右クリック][列の幅]
または、列の境界線をマウスで調整
九九の表
罫線を引いてみよう
範囲指定 −→ [右クリック][セルの書式指定][罫線] または、リボンメニューの[フォント][罫線] 例:
• 基本は細線
• 外枠は太線
• 乗数・被乗数と積との境
(題目と項目との境)も太線
• 左上は斜線
など
九九の表
16 以上の値を強調表示してみよう
−→ 条件付き書式 範囲指定 −→
リボンメニューの[スタイル][条件付き書式]
[セルの強調表示ルール][指定の値より大きい]
−→ 値を指定 他にも、ここでは
[カラースケール]なども面白いかも
二項係数(Pascalの三角形)
次のシートに移ろう (左下のタブをクリック)
二項係数(組合せの数):
nCk=n−1Ck+n−1Ck−1
• A1 を 1 として、下にコピー
(セルの右下隅を摘んで [下にドラッグ])
• B1 を 0 として、右にコピー
(セルの右下隅を摘んで [右にドラッグ])
• B2 を =B1+A1として、全体にコピー
(画面に見えるくらいの範囲で良い)
二項係数(Pascalの三角形)
偶数のセルを色で塗りつぶして表示してみよう
−→ 条件付き書式 範囲指定(今は全範囲指定で可) −→
リボンメニューの[スタイル][条件付き書式] [セルの強調表示ルール][その他のルール] [数式を使用して、書式設定するセルを決定]
• 数式: =MOD(A1,2)=0
• 書式: [塗りつぶし] で適当な色を指定 結構面白い?
二項係数(Pascalの三角形)
偶数のセルを色で塗りつぶして表示してみよう
−→ 条件付き書式
=MOD(A1,2)=0
MOD : 割った余りを答える関数 (modulo) セルの参照は
指定範囲の左上セルに設定するつもりで (他のセルにも相対指定の要領で適用される)
(余談) “法(modulus)” という用語について 7 を 3 で割ると、2 が立って余り 1
7 = 3 × 2 + 1
実 法 商 余
割る数・基準・単位になるもの・沿うべきもの
“のり”
(典・徳・法・紀・憲・則・範・規・儀・教)
二項係数(Pascalの三角形)
偶数かどうかを知るだけなら、
始めから割った余りだけ計算すれば良かった
• A1 を 1 として、下にコピー
• B1 を 0 として、右にコピー
• B2 を =MOD(B1+A1,2)として、全体にコピー
• [条件つき書式] は値が 0 のときで良い
二項係数(Pascalの三角形)
• A1 を 1 として、下にコピー
• B1 を 0 として、右にコピー
• B2 を =MOD(B1+A1,2)として、全体にコピー
• [条件つき書式] は値が 0 のときで良い 他の数で割った余りは ?
3 で割った余りなら、=MOD(B1+A1,3)
色々変えて試すのには、さっきの方法が使える やってみよう
今日の課題の提出法
課題提出用メイルアドレス宛に電子メイルで提出
• 件名: 1206 (半角英数字で!!)
• 本文冒頭に ID: 学生番号 Name: 名前
• 作成したMS-Excel文書は、ファイル名
A10xxyyy-1206.xlsx (自分の学生番号-今日の日付)で保存 (半角英数字で!!)
−→ 添付ファイルで提出