問題解決のための数学
の編集
http://www.kisnet.or.jp/~kanou/index.php?%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B1%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%95%B0%E5%AD%A6
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
&size(24){問題解決のための数学}; #contents(); *第1章 アルゴリズムと数学の密接なかかわり [#v38e29db] *第2章 アルゴリズムのための数学の基本知識 [#s0801ea3] **数の分類・文字式・2進法 [#hfeaef0d] ***2.1.1整数・有理数・実数 [#r8cf93a1] それぞれの数の説明 図のそれぞれの数の意味は次の通りです. |数の種類|説明| |複素数|「 i 」を虚数単位(√(-1)のこと)として,「 a + b・i 」(a,bは実数)の形で表すことのできる数| |実数|複素数「a + b・i 」において虚部が0,つまり b =0 の数.数直線上に存在する数| |虚数|実数以外の数| |純虚数|複素数「 a + b・i 」において実部が0,つまり a =0 の数| |有理数|「 c/d 」(c, dは整数)の分数の形で表すことのできる実数| |無理数|有理数でない実数.無理数は非循環小数でもある| |整数|0と0に1ずつ加えた数(1, 2, 3…)および,0から1ずつ引いた数(-1, -2, -3…)| |自然数|整数のうち正である数(1, 2, 3…).0を含める場合もある| |有限小数|「 c/d 」の有理数を小数で表したときに割り切れる数| |循環小数|「 c/d 」の有理数を小数で表したときに割り切れない数.(現れるパターンには必ず循環がある)| |超越数|代数方程式の解とならない複素数.実超越数はすべて無理数.(円周率,自然対数の底など)| これら以外の数の例 |数の種類|説明| |無限小数|有限小数でない小数.循環小数と非循環小数の2種類| |偶数|2で割り切れる自然数| |奇数|2で割り切れない自然数| |素数|自分自身と1以外に約数を持たない数| |単偶数|2で割り切れるが4で割り切れない自然数| |平方数|自然数を2乗した数| |立方数|自然数を3乗した数| |三角数|数を三角形状に並べたときにそこに並ぶ総数の数(1, 3, 6, 10, 15…)| |完全数|その数自身を除く正の約数の和が,その数自身と等しい自然数(6, 28, 496, 8128…)| ***2.1.2文字式とは [#a2233f79] 文字式とは、文字を使って関係性を表した式です。a・b・c・x・yなどのアルファベットはもちろん、α(アルファ)・β(ベータ)・γ(ガンマ)・δ(デルタ)・ω(オメガ)・π(パイ)などのギリシャ文字も数字のほかに使われます。 文字式を使う理由は、特定の場合にかぎらない普遍的な式を作るためです。たとえばミカンとリンゴを合わせた個数を考えるとしましょう。ミカン4個・リンゴ5個の総数は9個です。式にすると4+5=9とできます。 上は問題ない人がほとんどかと思いますが、つぎはミカンとリンゴの数を限定せずに個数を式にしたい場合を考えてみましょう。ミカンの個数をx・リンゴの個数をyとすると、ミカンとリンゴの総数はx+yで表せます。数値を限定しない場合以外でも、数値が変わる変数・分からない未知数の場合にも文字式で対応可能です。つまり文字式によって計算がより便利になるといえます // *第3章 基本的なアルゴリズム [#t415facb] ***エクセルで2次関数を描く [#d3496160] エクセルにはグラフ機能があります。 本来は統計的なデータなどをグラフ化するものですが、数学的な関数を簡単にグラフ化する事も出来ます。 例えば2次関数y=x2を描く事を考えます。 エクセルにy=x^2と入力すると自動的にグラフを描いてくれるとありがたいのですが、そうはいきません。(参考:Gnuplotなら可能) エクセルにグラフを描かせるには、必ずデータが必要です。 また、そのデータは表になっている必要があります。 そこで、まず表を作らなければいけません。 関数y=x2は、「xが決まるとyが定まる」ので、xに適当な数字をいれてyを計算しそれを表にします。 ここではxの値の範囲は-5から5までとします。-5,-4と入力したらオートフィルで入力しましょう。楽です。 yの値はセルB2に=A2*A2と入力。すると25と表示されるはずです。あとはオートフィルで入力。 表が出来たらグラフを作る作業に入ります。 表を選択→挿入→グラフをクリック。散布図を選択し、形式を点と点が曲線でつながっているものにします。あとは必要に応じて設定するとグラフが描けます。 [[y=x2(-5≦x≦5)の作成例:https://www.idisk-just.com/disk/list?path=%96%E2%91%E8%89%F0%8C%88%82%CC%82%BD%82%DF%82%CC%90%94%8Aw%2F]] // **対数関数と指数関数 [#wa83288f] **Y=2^X関数計算のグラフ [#vd3827be] |関数関係|&ref(./y=x^2関数計算.png,25%);| 指数関数と対数関数のグラフを以下にしめす。 |指数関数|&ref(./指数関数.png,25%);| |対数関数|&ref(./対数関数.png,25%);| ***二分法 [#cf043444] 今回は例として √2 = 1.41421356… の近似計算の実験を,Excel でやってみたいと思います。 √2 は,放物線 y = x2 – 2 と x 軸の交点のうち x>0 の領域にあるものです。ですから √2 の計算は「関数 f(x) = x2 – 2 に対し,f(x) = 0 を満たす点 x を求める」という問題に言い換えられます。 このような方程式の解を数値的に求める手法として,二分法と Newton 法というものが良く知られています。 二分法は,ある関数の値が 0 になる場所を,区間幅を半分に狭めながら探っていく手法です。 二分法の原理 関数 f(x) = x2 – 2 は区間 [0, 2] で短調増加です。さらに f(0) = -2 と f(2) = 2を合わせると,区間 [0, 2] 上に f(x) = 0 となる点が唯一存在することが分かります。 これを使うと「区間を左半分と右半分とに分けて,どっちに f(x) = 0 が含まれるかを調べる」という操作を十分な回数繰り返すことで,f(x) = 0 となる x の範囲を狭めていくことができます。 いまの場合 区間 [0, 2] の中点では f(1) = -1 < 0 なので,f(x) = 0 の解は [1, 2] 上のどこかにある 区間 [1, 2] の中点では f(3/2) = 1/4 > 0 なので,f(x) = 0 の解は [1, 3/2] 上のどこかにある …… といった操作を繰り返すことになります。このステップを 1 回行うごとに解の存在し得る範囲を半分に狭められますから,n ステップ進めることで区間の幅を 2-n にできます。 表計算ソフトで計算したファイル 二分法のオープンドキュメントです。 [[インターネットディスク:http://pub.idisk-just.com/fview/BolF8Z8ywX1BeL4lQmFABe29jgMbTV0eIIgOQsSQSaMRCVyzN53GM8XMqHiPXM2q1zsIItN6VpPIn_raDL-l6oUhOkrH_19I]] ***数値積分 [#cb5ab7b8] 先ほどの積算の計算をする際、積算すべき対象を自分で関数で用意することで、その関数の定積分(に近い値)を計算することができます。 この手法を数値積分、積分の数値(計算)解と呼びます。 一方、微分積分学の講義で習うような、数式のやりくりだけで、最後に値を入れれば結果が出るような結果を解析解といいます。 基本的に解析解は数式変形上の正しさを保って行うため、値も正確です。 しかし、数値解は普通は後述のように誤差が生じます。 誤差は出ますが、解析解のように悩まなくても、そもそも解析解がない場合でも、そこそこ答えが得られることが最大の利点です。 表計算ソフトで計算したファイル 二分法のオープンドキュメントです。 [[インターネットディスク:http://pub.idisk-just.com/fview/BolF8Z8ywX1BeL4lQmFABe29jgMbTV0eIIgOQsSQSaMRCVyzN53GM8XMqHiPXM2q1zsIItN6VpPIn_raDL-l6oUhOkrH_19I]] *第4章 発展的なアルゴリズム [#cad11bd5] **問題解決のための数学/モンテカルロ法 [#w58915d5] *第5章 問題解決のための数学的考察 [#s4082737] 三角関数は日常生活で何に役に立つの? 特に数学に苦手意識のある人は、「三角比」「三角関数」と聞いただけでアレルギー反応を起こしてしまうかもしれない。「sin(サイン)・cos(コサイン)・tan(タンジェント)なんて、社会に出ると何の役にも立たない」と思っている人もいるのではないだろうか。 **コラム4三角関数 [#b7ea87a8] 三角関数 ところが、三角関数は思いのほか私たちの生活に密着している。三角関数の陰の活躍を知れば、少しは親しみが湧くのでは? 測量 実は三角関数は、「近代文明の土台」といっても過言ではない重要な発明。三角関数のどこが画期的かというと、直角三角形の辺の長さの比から、直接手で測れないものも計算できるという点だ。 三角関数の用途として最も古く、現代社会でも必須なのが「測量」。三角比を応用した三角測量によって、直接測ることなく、距離や高さを測ることができる。三角測量の原理はGPSの測位にも生かされていて、私たちも普段オンラインマップなどでお世話になっているのだ。 ゲームプログラミング 「プログラミングと三角関数にどんな関係があるの?」と思う人もいるかもしれない。 ところが、ゲームなど座標を扱うプログラムを作成するときは三角関数が活躍する。ゲームプログラミングで三角関数がよく用いられるのは、キャラクターや物体が移動するとき。三角関数を使うことで、キャラクターや物体を思いどおりの角度や距離で動かすことができる。ゲームプログラミングにおいて、三角関数は欠かせない存在なのだ。 画像処理 画像を回転させるには、画像を構成する一つひとつの画素をすべて「回転後の座標に移動させる処理」が必要になる。そこで、三角関数を使用することで、回転後の座標と回転前の座標を求めて、画像を任意の角度に回転させられるように! |三角関数|&ref(./三角関数.png,25%);| *第5章 問題解決のための数学的考察 [#s4082737] *関連ファイルのURL [#w6bc51dd] [[インターネットディスク:http://pub.idisk-just.com/fview/BolF8Z8ywX1BeL4lQmFABe29jgMbTV0eIIgOQsSQSaMRCVyzN53GM8XMqHiPXM2q1zsIItN6VpPIn_raDL-l6oUhOkrH_19I]] //
タイムスタンプを変更しない
&size(24){問題解決のための数学}; #contents(); *第1章 アルゴリズムと数学の密接なかかわり [#v38e29db] *第2章 アルゴリズムのための数学の基本知識 [#s0801ea3] **数の分類・文字式・2進法 [#hfeaef0d] ***2.1.1整数・有理数・実数 [#r8cf93a1] それぞれの数の説明 図のそれぞれの数の意味は次の通りです. |数の種類|説明| |複素数|「 i 」を虚数単位(√(-1)のこと)として,「 a + b・i 」(a,bは実数)の形で表すことのできる数| |実数|複素数「a + b・i 」において虚部が0,つまり b =0 の数.数直線上に存在する数| |虚数|実数以外の数| |純虚数|複素数「 a + b・i 」において実部が0,つまり a =0 の数| |有理数|「 c/d 」(c, dは整数)の分数の形で表すことのできる実数| |無理数|有理数でない実数.無理数は非循環小数でもある| |整数|0と0に1ずつ加えた数(1, 2, 3…)および,0から1ずつ引いた数(-1, -2, -3…)| |自然数|整数のうち正である数(1, 2, 3…).0を含める場合もある| |有限小数|「 c/d 」の有理数を小数で表したときに割り切れる数| |循環小数|「 c/d 」の有理数を小数で表したときに割り切れない数.(現れるパターンには必ず循環がある)| |超越数|代数方程式の解とならない複素数.実超越数はすべて無理数.(円周率,自然対数の底など)| これら以外の数の例 |数の種類|説明| |無限小数|有限小数でない小数.循環小数と非循環小数の2種類| |偶数|2で割り切れる自然数| |奇数|2で割り切れない自然数| |素数|自分自身と1以外に約数を持たない数| |単偶数|2で割り切れるが4で割り切れない自然数| |平方数|自然数を2乗した数| |立方数|自然数を3乗した数| |三角数|数を三角形状に並べたときにそこに並ぶ総数の数(1, 3, 6, 10, 15…)| |完全数|その数自身を除く正の約数の和が,その数自身と等しい自然数(6, 28, 496, 8128…)| ***2.1.2文字式とは [#a2233f79] 文字式とは、文字を使って関係性を表した式です。a・b・c・x・yなどのアルファベットはもちろん、α(アルファ)・β(ベータ)・γ(ガンマ)・δ(デルタ)・ω(オメガ)・π(パイ)などのギリシャ文字も数字のほかに使われます。 文字式を使う理由は、特定の場合にかぎらない普遍的な式を作るためです。たとえばミカンとリンゴを合わせた個数を考えるとしましょう。ミカン4個・リンゴ5個の総数は9個です。式にすると4+5=9とできます。 上は問題ない人がほとんどかと思いますが、つぎはミカンとリンゴの数を限定せずに個数を式にしたい場合を考えてみましょう。ミカンの個数をx・リンゴの個数をyとすると、ミカンとリンゴの総数はx+yで表せます。数値を限定しない場合以外でも、数値が変わる変数・分からない未知数の場合にも文字式で対応可能です。つまり文字式によって計算がより便利になるといえます // *第3章 基本的なアルゴリズム [#t415facb] ***エクセルで2次関数を描く [#d3496160] エクセルにはグラフ機能があります。 本来は統計的なデータなどをグラフ化するものですが、数学的な関数を簡単にグラフ化する事も出来ます。 例えば2次関数y=x2を描く事を考えます。 エクセルにy=x^2と入力すると自動的にグラフを描いてくれるとありがたいのですが、そうはいきません。(参考:Gnuplotなら可能) エクセルにグラフを描かせるには、必ずデータが必要です。 また、そのデータは表になっている必要があります。 そこで、まず表を作らなければいけません。 関数y=x2は、「xが決まるとyが定まる」ので、xに適当な数字をいれてyを計算しそれを表にします。 ここではxの値の範囲は-5から5までとします。-5,-4と入力したらオートフィルで入力しましょう。楽です。 yの値はセルB2に=A2*A2と入力。すると25と表示されるはずです。あとはオートフィルで入力。 表が出来たらグラフを作る作業に入ります。 表を選択→挿入→グラフをクリック。散布図を選択し、形式を点と点が曲線でつながっているものにします。あとは必要に応じて設定するとグラフが描けます。 [[y=x2(-5≦x≦5)の作成例:https://www.idisk-just.com/disk/list?path=%96%E2%91%E8%89%F0%8C%88%82%CC%82%BD%82%DF%82%CC%90%94%8Aw%2F]] // **対数関数と指数関数 [#wa83288f] **Y=2^X関数計算のグラフ [#vd3827be] |関数関係|&ref(./y=x^2関数計算.png,25%);| 指数関数と対数関数のグラフを以下にしめす。 |指数関数|&ref(./指数関数.png,25%);| |対数関数|&ref(./対数関数.png,25%);| ***二分法 [#cf043444] 今回は例として √2 = 1.41421356… の近似計算の実験を,Excel でやってみたいと思います。 √2 は,放物線 y = x2 – 2 と x 軸の交点のうち x>0 の領域にあるものです。ですから √2 の計算は「関数 f(x) = x2 – 2 に対し,f(x) = 0 を満たす点 x を求める」という問題に言い換えられます。 このような方程式の解を数値的に求める手法として,二分法と Newton 法というものが良く知られています。 二分法は,ある関数の値が 0 になる場所を,区間幅を半分に狭めながら探っていく手法です。 二分法の原理 関数 f(x) = x2 – 2 は区間 [0, 2] で短調増加です。さらに f(0) = -2 と f(2) = 2を合わせると,区間 [0, 2] 上に f(x) = 0 となる点が唯一存在することが分かります。 これを使うと「区間を左半分と右半分とに分けて,どっちに f(x) = 0 が含まれるかを調べる」という操作を十分な回数繰り返すことで,f(x) = 0 となる x の範囲を狭めていくことができます。 いまの場合 区間 [0, 2] の中点では f(1) = -1 < 0 なので,f(x) = 0 の解は [1, 2] 上のどこかにある 区間 [1, 2] の中点では f(3/2) = 1/4 > 0 なので,f(x) = 0 の解は [1, 3/2] 上のどこかにある …… といった操作を繰り返すことになります。このステップを 1 回行うごとに解の存在し得る範囲を半分に狭められますから,n ステップ進めることで区間の幅を 2-n にできます。 表計算ソフトで計算したファイル 二分法のオープンドキュメントです。 [[インターネットディスク:http://pub.idisk-just.com/fview/BolF8Z8ywX1BeL4lQmFABe29jgMbTV0eIIgOQsSQSaMRCVyzN53GM8XMqHiPXM2q1zsIItN6VpPIn_raDL-l6oUhOkrH_19I]] ***数値積分 [#cb5ab7b8] 先ほどの積算の計算をする際、積算すべき対象を自分で関数で用意することで、その関数の定積分(に近い値)を計算することができます。 この手法を数値積分、積分の数値(計算)解と呼びます。 一方、微分積分学の講義で習うような、数式のやりくりだけで、最後に値を入れれば結果が出るような結果を解析解といいます。 基本的に解析解は数式変形上の正しさを保って行うため、値も正確です。 しかし、数値解は普通は後述のように誤差が生じます。 誤差は出ますが、解析解のように悩まなくても、そもそも解析解がない場合でも、そこそこ答えが得られることが最大の利点です。 表計算ソフトで計算したファイル 二分法のオープンドキュメントです。 [[インターネットディスク:http://pub.idisk-just.com/fview/BolF8Z8ywX1BeL4lQmFABe29jgMbTV0eIIgOQsSQSaMRCVyzN53GM8XMqHiPXM2q1zsIItN6VpPIn_raDL-l6oUhOkrH_19I]] *第4章 発展的なアルゴリズム [#cad11bd5] **問題解決のための数学/モンテカルロ法 [#w58915d5] *第5章 問題解決のための数学的考察 [#s4082737] 三角関数は日常生活で何に役に立つの? 特に数学に苦手意識のある人は、「三角比」「三角関数」と聞いただけでアレルギー反応を起こしてしまうかもしれない。「sin(サイン)・cos(コサイン)・tan(タンジェント)なんて、社会に出ると何の役にも立たない」と思っている人もいるのではないだろうか。 **コラム4三角関数 [#b7ea87a8] 三角関数 ところが、三角関数は思いのほか私たちの生活に密着している。三角関数の陰の活躍を知れば、少しは親しみが湧くのでは? 測量 実は三角関数は、「近代文明の土台」といっても過言ではない重要な発明。三角関数のどこが画期的かというと、直角三角形の辺の長さの比から、直接手で測れないものも計算できるという点だ。 三角関数の用途として最も古く、現代社会でも必須なのが「測量」。三角比を応用した三角測量によって、直接測ることなく、距離や高さを測ることができる。三角測量の原理はGPSの測位にも生かされていて、私たちも普段オンラインマップなどでお世話になっているのだ。 ゲームプログラミング 「プログラミングと三角関数にどんな関係があるの?」と思う人もいるかもしれない。 ところが、ゲームなど座標を扱うプログラムを作成するときは三角関数が活躍する。ゲームプログラミングで三角関数がよく用いられるのは、キャラクターや物体が移動するとき。三角関数を使うことで、キャラクターや物体を思いどおりの角度や距離で動かすことができる。ゲームプログラミングにおいて、三角関数は欠かせない存在なのだ。 画像処理 画像を回転させるには、画像を構成する一つひとつの画素をすべて「回転後の座標に移動させる処理」が必要になる。そこで、三角関数を使用することで、回転後の座標と回転前の座標を求めて、画像を任意の角度に回転させられるように! |三角関数|&ref(./三角関数.png,25%);| *第5章 問題解決のための数学的考察 [#s4082737] *関連ファイルのURL [#w6bc51dd] [[インターネットディスク:http://pub.idisk-just.com/fview/BolF8Z8ywX1BeL4lQmFABe29jgMbTV0eIIgOQsSQSaMRCVyzN53GM8XMqHiPXM2q1zsIItN6VpPIn_raDL-l6oUhOkrH_19I]] //
テキスト整形のルールを表示する
添付ファイル:
二分法.ods
23件
[
詳細
]
三角関数.png
70件
[
詳細
]
y=x^2関数計算.png
55件
[
詳細
]
対数関数.png
69件
[
詳細
]
指数関数.png
67件
[
詳細
]