数学

【微分】わかりやすくプログラミング目線で整理してみる【初心者向け】

学校の勉強で、

『なんのために勉強するのかわからないランキングTOP3』

に堂々入ってきそうな授業といえば。

そう。

『微分(びぶん)』『積分(せきぶん)』

実際、社会人になって十数年 生活する中で、

まったくもって使う機会はなかったけれど、

子どもが産まれて、最近の『STEAM教育』を調べるうちに、

どうやらめちゃくちゃ使うらしいという事に今更ながら知る事になりました。

  • AI・機械学習
  • 統計学
  • 経済学
  • 3Dプログラミング(ゲーム、シミュレータ、VR/AR/MR)
  • 物理学
  • 機械工学

などの分野では『微分』『積分』は必須だそうで。

他にも、

  • プロ野球でホームラン打った時の到達距離予測
  • 台風の進路予測
  • 株価の動き予測
  • 大砲うったときの到達場所予測

などなど。

現に、『3Dプログラミング』でかっこいい映像をつくろうと調べ出したら、

どこもかしこも『微分』『三角関数』『ベクトル』のオンパレードで。

アオキ
こりゃあいっちょうしっかりまとめておいた方がええね。

ということで、『微分』のさわりだけ、まとめてみることにしました。

わかりやすさ重視で書いていますので、ぜひ寛大な心でお読みください。

Sponsored link

微分をわかりやすく〜そもそも『微分』ってなんなのさ

そもそも『微分(びぶん)』ってなんなのさってことで調べてみると、

『微(び)』という漢字は、『とっても小さい』という意味があります。

  • 微生物(びせいぶつ)
  • 微妙(びみょう)
  • 微力(びりょく)
  • 微熱(びねつ)
  • 微量(びりょう)
  • 微調整(びちょうせい)
  • 微笑(びしょう)
  • 顕微鏡(けんびきょう)
  • 微増(びぞう)

などなど。

アオキ
とにかくめっちゃ小さいのね、うん。

『微分(びぶん)』の『分(ぶん)』はそのまま『分ける』という意味なので、

『微分』 = めっちゃ小さく分ける

という理解でいいのかなと。

どれくらい小さいかというと、例えば、

長さ20センチメートルのロールケーキがあったとして、

3等分とか、6等分とかのレベルじゃなくて、

300等分とか1000等分とかに分けるような感じでしょうか。

アオキ
いや、そんなんできんやん普通。

って思っちゃうんですが、

とにかくひたすら小さく分けて、どれくらい変化したのかを考えようというのが『微分(びぶん)』になります。

ちなみに、

『微分』の反対が『積分(せきぶん)』で、
めっちゃ小ちゃいものをくっつけるのが『積分(せきぶん)』になります。

  • 『微分(びぶん)』・・めっちゃすごい割り算
  • 『積分(せきぶん)』・・めっちゃすごいかけ算

みたいな関係になります。

微分をわかりやすく〜ほとんどゼロやん・・極限

例えば20センチのロールケーキを3等分にするなら、

20 ÷ 3 = 6.666 (約6センチずつ) になります。

例えば5等分にするなら、

20 ÷ 5 = 4センチずつ になります。

もし300等分ができるとしたら、

20 ÷ 300 = 0.066 (0.66ミリ) ずつに分ければ、

300等分できることになります。

もし1000等分なら、

20 ÷ 1000 = 0.02 (0.2ミリ)

になります。

アオキ
0.2ミリって、、ほとんどゼロやん・・・

目ではほとんど見えないけれど、

顕微鏡で見たらかすかに見えるみたいな状態を、

『極限(きょくげん)』と呼ぶそうで、英語で『Limit(リミット)』と呼びます。

アオキ
『微分』には『Limit(リミット)』を略した 『lim』という記号があります。
アオキ
その意味は『極限』で、限りなくゼロに近い、というような意味になります。
Sponsored link

微分をわかりやすく 割り算と微分の違い

ロールケーキの例で、300等分や1000等分してみましたが、
ロールケーキを分けるだけなら、割り算で計算することができます。

アオキ
割り算と『微分』の違いはというと・・・
  • 割り算・・一定の値で割る (2で割ったり5で割ったり)
  • 微分・・ほとんどゼロに近い 2点の差(変化量)を割る

という違いになります。

自動車で例えると、

もし自動車が、ずーーーっと同じスピードで走っていたら、割り算で距離や時間を出せますが、

実際にはアクセルを踏んだりブレーキをふんだりするので、スピードが変わったりしますよね。

その時々のスピードを知りたいとしたら、一瞬一瞬の変化を見る必要がでてきます。

一瞬一瞬の変化を見るには、ほとんどゼロに近い2点の間を見ればわかる、ということになります。

例えば、

2秒と2.001秒の差は、2.001 – 2 = 0.001 になります。

この間の速度を0.001で割れば、2秒と2.001秒の間の速度がわかることになります。

式にするとこんな感じです。

一瞬の変化 $ \displaystyle = \frac{2.001秒時の速度 – 2秒時の速度}{0.001秒} $

アオキ
とにかく小さい2つの点の変化を見ることが『微分』ってことなんですね。(わかったようなわからんような)
アオキ
ちなみに『微分』は英語で differentialで、差分という意味だそうです。

微分をわかりやすく 3Dプログラミングの例

『3Dプログラミング』をやっていると、現実世界ととても似ていると感じています。

例えば太陽が西にあったとして、
バスケットボールを照らしているとしたら、
西側は光が当たって明るくなって、
反対側は影ができます。

それを『3Dプログラミング』で再現しようとしたら、

  • 太陽が今どの場所にあって、
  • バスケットボールのどの方向を照らして、
  • どの方向は光が当たってないか(暗くなるか)

というのを計算する必要がでてきます。

アオキ
光があたって影があるからこそ立体的に見えるんですよね。

『3Dプログラミング』の組み方にもいろいろあるようですが、

光が当たった位置から0.001ずつ外にずらしていって、
光があたって反射する角度を1つずつ調べて、
それぞれ明るさを調整する

ということをやっていたりします。

アオキ
実際には『偏微分(へんびぶん)』で求まるのですが今回はカットします。

0.001ずつずらして、例えば1000回やそれ以上の計算をこなす事になるので、

手作業で計算はまずムリなんですが、

『プログラミング』は繰り返しが得意なので、あっという間に計算結果が出てきて、
こんな球が描けたりします。

中心が明るくて、ちょっとずつ暗くなっているのがわかると思います。

アオキ
立体っぽく見せるには、小さい数値をひたすら計算する必要があるんですよね。

微分をわかりやすく ハイクオリティ動画のご紹介

『微分』は、ほとんどゼロに近い2点の変化、ということをお伝えしたところで、

とにかくおすすめの動画があるのでご紹介します。

教育系ユーチューバー『ヨビノリたくみ』さんの『微分積分』の動画です。

講義としては約1時間ちょい、質疑応答入れて1時間40分くらいの動画なのですが、

『微分』のびの字も知らない方達に向けてわかりやすい講義をしています。

動画の内容が本にもなっています。

created by Rinker
SBクリエイティブ
¥1,512 (2019/07/17 12:22:22時点 Amazon調べ-詳細)

内容を抜粋すると、

車が走った時間(t)と速度(x)を例にして、

ある瞬間(t)の速度と、
ちょっとだけ進んだ時 (t + Δt)(ティープラスデルタティー) の速度の2点を、
ギリギリまで近づけて、式を出しています。

  • t・・Timeの頭文字。 例えば2秒とか
  • t+Δt・・tにほんのちょっとだけ加えた数値。例えば 2.0001秒とか。

こんな式になります。

平均速度 $ \displaystyle = \lim_{\Delta t\rightarrow 0}\frac{\Delta x}{\Delta t}
$

limはリミットで極限。
limの下は、Δt (デルタティー) を ギリギリまで0に近づけるという意味になります。

(xは速度、tは時間、Δ(デルタ)はほんのちょっとだけというような意味です。)

また、リミットの式はこんな風に書き換えることができます

平均速度 $ \displaystyle = \frac{dx}{dt} $

dは英語で『difference( ディファレンス)』の略で、差分や変化という意味になり、

極限まで小さくした変化という意味になります。

$ \displaystyle \frac{dx}{dt} $の式を

『xをtで微分する』と呼ぶそうです。

※ dx や dt が一つの記号なので、 dとxを切り離すということはできないです。

アオキ
とにかくめっさわかりやすいのでオススメな動画&本です。
Sponsored link

微分をわかりやすく まとめ

学校で勉強していた頃は、

アオキ
なんでこんなのを勉強するんだろう???

という疑問がずっとでていて、実際に使う機会もそうそうなかったのですが、

しっかりと現実世界を見て、
そこで使われている技術を知っていくうちに、

アオキ
実は学校の勉強ってすごく役にたつのね・・

という事に気づいたりします。

そのためにはもっと、現実世界と学校の勉強を連動させる必要があると思うので、

これからもこのブログなり、
子供向けプログラミング道場『CoderDojo熊本』を通じて、
現実世界との連動をメインテーマに活動していきたいなと思います。

アオキ
『微分』使えるようになるとなんかかっこいい大人な感じしますな。


PS. マンガでわかる微分積分もわかりやすいのでオススメ本です。

『数学・物理』関係ではこんな記事も読まれています。

1. 『ベクトル』の使い方のコツ~『ベクトル』はただの数値の組み合わせです(4)【P5.js】

2. 加速度をわかりやすくするために実際に動かしてみる【まずは2Dから】(5)【P5.js】

3. プログラミングで数学も身につく 一石四鳥なクリエイティブコーディング

4. プログラミングと三角関数〜小学生でもすんなりわかる三角関数を目指して

5. 【微分】わかりやすくプログラミング目線で整理してみる【初心者向け】

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


関連記事

  1. クリエイティブコーディング

    三角関数の使い方〜わかりやすさ重視でまとめてみた【動画あり】

    前回の記事で、プログラミングを使って数学がわかるという『コー…

  2. GLSL/WebGL

    【GLSL】『レイマーチング』入門(3) 距離関数を使ってみる・回転・合成・量産

    プログラミングでかっこいい映像がつくれるということで始めた『レイマーチ…

  3. 数学

    プログラミングで回転させたいなら『ラジアン』を知っておくといいかもよ【初心者向け】

    プログラミングを使って、デザインをしたりアートを作ったりすることを…

  4. 数学

    【線形代数】機械学習やVR/AR/MRで使われる数学〜膨大なデータをスッキリと【初心者向け】

    パソコンやスマホの高性能化と、超高速通信『5G』の到来で、『AI…

  5. GLSL/WebGL

    【GLSL】『レイマーチング』入門(2) 立体的に見せる方法〜光の反射は『内積』で〜

    プログラミングでかっこいい映像をつくる方法の一つに、『レイマーチン…

Sponsored link

最近の記事

  1. 数学

    【微分】わかりやすくプログラミング目線で整理してみる【初心者向け】
  2. Laravel

    【Laravel(PHP)】初心者向け アプリのつくり方 をリリースしました【t…
  3. クリエイティブコーディング

    三角関数の使い方〜わかりやすさ重視でまとめてみた【動画あり】
  4. 検索システム

    【検索システム】をつくってみた【実際にログインしてさわれます】
  5. Laravel

    【Laravel(PHP)】でできる事をわかりやすく(ざっくりと)まとめてみた【…
PAGE TOP