コンピュータを使って,物理,数学,工学上の問題を解く手法.解が解析的手法では得られない場合や厳密解の直感的意味が良く分からないときなどに威力を発揮する.
パソコン生活の中で通常出会うようなソフトウェアと違って、誤差を小さくすることに細心の注意が払われる。また、しばしば膨大なステップ数の計算を行うため精度を下げずに早くする方法も求められている。効率の良い計算を行うための手法の研究それ自身が一つの学問分野を成している。
TL;DR オープンデータ(地形データ)とオープンソース(DELFT3D)によって、誰でも実河川の水理解析ができるようなった。 はじめに 兵庫県「全県土の高精度3次元データ」について(Copilot) DELFT3Dとは?(Copilot) 計算条件 計算範囲 標高、河床地形 計算格子 その他計算条件 計算結果 流速ベクトル 流速コンター図 断面の流速分布 A-A'断面 B-B'断面 全体の流速分布:Paraviewによる図化 渦度(鉛直渦度) まとめ 参考サイト はじめに 近年、国土交通省や自治体から点群やメッシュデータなど、様々な形式の面的地形データが公開されています。このデータは地形情報…
ガンマ関数のマニアがいるとしたら自分はその一人であろうと思います。 今回も暇に飽かせてガンマ関数の気ままな数値計算をしました、 手始めにxが0から3までのふるまいをプロット。 1<x<2ではガンマ関数の値は1未満になります。 従いまして、下記の極限値は存在します。 ただし、厳密な値の陽な表式はないようです。 0.706767781849695387081011526893830765054....... ワイエルシュトラスの無限積表式に落とすことは可能でしょうけれど。 加えて、このような無限積を考えると、おそらくは収束するであろう。 この無限積は簡易化できます。 そして、数値計算をするとその値…
※なにか気になる点がありましたらコメント欄にご記入ください。【目次】 1.はじめに 2.GPT氏に聞いてみた 3.リチャードソン外挿法 4.実用例 5.まとめ 1.はじめに 数値計算と呼ばれる分野で、与えられた数値から信号の微分値を求める方法に、3点微分というものがあります。簡潔に精度を上げて計算できるということで、ロボットの制御などで応用されているようです。 (唐突に話が始まる、など)今回は数式を久しぶりに書いてみたいというのもある感じで進めていきます。
ワイエルシュトラス(Weierstrass)の乗積表示はガンマ関数ファンとしては外せない存在です。 見事な式であります。オイラーの定数γが含まれている。 まるで、ガンマの親子丼ですな! この式をつかえば次の極限を示せるでしょう。 実際に手で計算された方は理解していると思いますが、この式はガンマ関数の虚数値と関係します。 このような拡張もありますね。 ですが、次式は難しいかもしれません。 組み合わせて、次式も出せます。 しかし、右辺が Tanh π となるように左辺の極限式を調整できるのでしょうか? また、どなたでも下式の右辺を分かりやすい式に変形してもらえると嬉しいです。 なぜなら、6乗のケー…
Unityを使ってゲームを開発する際に、数値を0埋めする方法を初心者向けに解説します。0埋めの基本概念から、具体的な実装方法までを詳しく紹介します。 0埋めの基本概念 数値を0埋めする理由や、どのような場面で必要になるのかを解説します。 0埋めとは何か? 0埋め(ゼロパディング)は、数値の桁数を揃えるために前に0を追加することです。例えば、表示するスコアが5桁必要な場合、123を00123のように表示することで見た目を揃えることができます。ゲームやアプリケーションでは、スコアやタイマーなどでよく使用されます。 0埋めの利用例 ゲーム開発において、0埋めはスコアの表示やタイマーのカウントダウンな…
かねてより気になっていたゼータ関数の数値計算をまとめておきます。 ゼータ関数とは、もちろんリーマンのゼータ関数です。 ja.wikipedia.org まず、このような積はどうふるまうのだろうか? これらは、いずれも急速に収束すると期待される。 それぞれ、こんな感じです。 1.8210174514987403 1.2602057107050506 非力なので、初期20項までの経過をプロットしてみたのが下のグラフ おまけの計算値として、N=20での下の比は、おおよそのところ0.69203384606109...となる。ぜひ、人生の知恵の一つとして役立ててほしい!? こうした計算活動の一環として、…
ニュートン法とは、実数値関数の根を数値的に計算する代表的なアルゴリズムです。 実数値関数の根を求めるとは、例えば以下のような方程式の解を求めることです。 $$ x^{3} + x - 8 = 0 $$ 関数の根とは、f(x) = 0になるxの値のことです。たとえば、中学校の数学の方程式の授業では、x2 - 4 = 0を解け、というような問題が出ます。答えは、x = 2またはx = -2のときです。これらの点が、関数f(x) = x2 - 4の根になります。 方程式の解き方には、解析的に解くやり方と数値的に解くやり方があります。解析的に解く方法は、数式をきちんと立て、その数式を変形して正確な解を…
数学の具体的な計算にPythonを使って、数学もPythonも同時に学んでしまいましょう。今回はPythonを使って、拡散方程式と呼ばれる偏微分方程式を調べたいと思います。偏微分方程式の数値的解法の導入、本記事で使っている記法の詳細については以下の記事で解説しています:pianofisica.hatenablog.comあわせて読んでみてください。 拡散方程式 熱核 熱核を用いた解 差分方程式 Pythonによる実装 解析解との比較 (adsbygoogle = window.adsbygoogle || []).push({}); 拡散方程式 上に引用した過去記事では、輸送方程式を考え、その…
数学の具体的な計算にPythonを使って、数学もPythonも同時に学んでしまいましょう。今回はPythonを使って、偏微分方程式の解を数値的に求めてみたいと思います。常微分方程式については以下の記事で扱っています:pianofisica.hatenablog.comあわせて読んでみてください。 偏微分方程式 輸送方程式(右進行波) 数値計算 変数の離散化 差分方程式 Pythonによる実装 計算精度の改善:前進差分・後退差分・中心差分 (adsbygoogle = window.adsbygoogle || []).push({}); 偏微分方程式 一般に、未知関数とその導関数を含んだ方程式…
数学・物理学の具体的な計算にPythonを使って、数学・物理学もPythonも同時に学んでしまいましょう。前回の記事pianofisica.hatenablog.comでは、Pythonを使って振動を表す運動方程式(2階常微分方程式)の解を数値的に求めました。またpianofisica.hatenablog.comでは、数値解によって記述される質点の運動の様子をアニメーションによって可視化してみました。今回の記事はこれらの続編・応用で、複数の質点が互いにバネでつながれた、いわゆる連成振動について取り上げてみたいと思います。 バネにつながれた1質点の運動(単振動) 解析的解法 数値的解法 バネに…