コンテンツにスキップ
eGPU Lab.
eGPU Lab.
  • ホーム
  • プライバシーポリシー
  • 非公開・備忘録
    • LoRAに学習させる
  • ホーム
  • プライバシーポリシー
  • 非公開・備忘録
    • LoRAに学習させる
クローズ

検索

AIシミュレータ数学・物理竿燈シミュレータ

シミュレーションのための数学(1)

2026年10月2日
0

高校生(理系の進学希望らしい)からメールをもらった。(誰が見ているかわからないものだなぁ)
趣旨は、シミュレーションは非常に興味があるが、アナログな世界をデジタルで計算する基本的な手法について教えてほしい、とのこと。高校レベルの微積分の知識はあるらしい。

まず、量子力学が一般的になった現在ではニュートン力学やラグランジュ力学のようなアナログ(連続)な世界はもはや無いと考えてよく、全てデジタルだと考えたほうが良い。無論、自分もそういった古典的な力学体系で教育されてきたが、この辺は日本の数学や物理の教育の遅れを強く感じる。

竿燈シミュレータの中身の数学的な部分を高校生でもわかるように解説してみる。
まずは『微分』だ。(コンピュータ的には『差分』=微分の近似)
微分は、ある量が「ほんの少し時間が進んだとき、どれだけ変化したか」を表す。たとえば位置 x(t) の時間微分は速度 v(t)になる。
v(t) = dx(t)/dt
このdtを限りなく0(ゼロ)に近づける考え方が「極限」の考え方だがコンピュータでは「dtをゼロ」にするという操作はできない。ゼロで割れないから。
そこで十分に小さいΔtを使う。
v[n] ≈ (x[n+1] – x[n]) / Δt

0.01 秒の間に竿先が 2 mm 動いたとする。平均速度は
v ≈ 0.002 / 0.01 = 0.2 m/s
です。Δt を小さくすれば、短い時間の変化をより細かく追える。ただし、Δt を小さくしすぎると計算回数が増える。差分の扱いは3種類あって、

名前

式

特徴

前進差分 (x[n+1]-x[n])/Δt 実装が単純。未来値が必要。
後退差分 (x[n]-x[n-1])/Δt 既に計算済みの値だけで作れる。
中央差分 (x[n+1]-x[n-1])/(2Δt) 同じ Δt なら一般に精度が高い。

以上が『微分』『差分』の考え方で、差分にするとプログラムのコードがなんとなく見えると思う。

積分は、「非常に細かい量を全部足したもの」と考えることができる。速度を時間について積分すると位置になり、加速度を積分すると速度になる。コンピュータでは、Δt ごとの小さな長方形の面積を足す。
x[n+1] ≈ x[n] + v[n] Δt
位置や速度の概念としては、結局
x = x + v * dt
v = v + a * dt
となる。この2行は「1回だけ」では大したことをしていないが、1秒間に数百回繰り返すと時間変化を追跡できる。

投稿者

リタイア爺

フォロー
関連記事
前

昔話(5) 就職後 1980年代(2)

次へ

シミュレーションのための数学(2)

コメントはまだありません。最初のコメントを投稿しましょう。

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

2026年10月
日 月 火 水 木 金 土
 123
45678910
11121314151617
18192021222324
25262728293031
« 9月    

最近の投稿

  • 制御とは(4) ~Pythonで3方式を比較~ 2026年10月9日
  • 制御とは(3) ~Adaptive制御~ 2026年10月9日
  • 雑感 ネット上の脅威 2026年10月8日
  • 雑感 最近の情報漏洩事件 2026年10月6日
  • 制御とは(2) ~LQR制御~ 2026年10月6日

カテゴリー

  • AIシミュレータ (14)
  • eGPU (22)
  • LLM (12)
  • セキュリティ (1)
  • 数学・物理 (8)
  • 昔話 (6)
  • 竿燈シミュレータ (13)
  • 雑感 (4)

最近のコメント

  • 雑感 ネット上の脅威 に リタイア爺 より
  • 雑感 最近の情報漏洩事件 に リタイア爺 より
  • 雑感 最近の情報漏洩事件 に 通りすがり より

アーカイブ

  • 2026年10月
  • 2026年9月
  • 2026年8月
にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村

非公開・備忘録

  • プライバシーポリシー
  • 非公開・備忘録
    • LoRAに学習させる

TOP

https://www.wildflow.tech/blog/