微積分と物理/微分2
のバックアップソース(No.4)
Unity学習帳2冊目
微積分と物理
/
微分2
のバックアップソース(No.4)
[
トップ
] [
差分
|
バックアップ
|
リロード
] [
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
[ ]
差分
を表示
現在との差分
を表示
微積分と物理/微分2
へ行く。
« Prev
Next »
TITLE:微分2 **微分を利用して漸化式を作る例 [#rc60f063] #jsmath #contents ここでは微分連立方程式を利用して望む値を求める漸化式を作る方法を考えてみる ***4乗根の実数値を求める漸化式を作る [#f58e44d4] \({ x }^{ 4 }-C\)のような4次方程式の関数のグラフは以下のようになる。このグラフの\(C\)には\(10\)を代入している。この式のグラフは2次方程式の放物線のグラフと似ているが若干頂点付近の曲線が潰れたような形になっている &ref(srqt4_2.png); グラフのY軸\(0\)のヨコ線と、この4次方程式の描くグラフの交点が\(\sqrt [ 4 ]{ C }\)、つまり\({ C }^{ \frac { 1 }{ 4 } }\)となる \(\begin{cases} { y=f(x)=x }^{ 4 }-C \\ f'(a)=\lim _{ b\rightarrow a }{ \frac { f(b)-f(a) }{ b-a } } \\ f(a)=0 \end{cases}\) この式を\(b={x}_{0}\)、\(a={x}_{1}\)として定数から変数にして連立させてまとめると \(f'({ x }_{ 0 })=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ \frac { f({ x }_{ 0 })-0 }{ { x }_{ 0 }-{ x }_{ 1 } } } \) となり、これに関数を適用すると \(4{ x }_{ 0 }^{ 3 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ \frac { { x }_{ 0 }^{ 4 }-C-0 }{ { x }_{ 0 }-{ x }_{ 1 } } } \) になる。この式を変形させて漸化式にしていく \( \rightarrow \quad \quad 4{ x }_{ 0 }^{ 3 }({ x }_{ 0 }-{ x }_{ 1 })=\lim _{ { x }_{ 0 } \rightarrow { x }_{ 1 } }{ { x }_{ 0 }^{ 4 }-C } \\ \rightarrow \quad \quad 4{ x }_{ 0 }^{ 4 }-4{ x }_{ 0 }^{ 3 }\cdot { x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ { x }_{ 0 }^{ 4 }-C } \\ \rightarrow \quad \quad -4{ x }_{ 0 }^{ 3 }\cdot { x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ -3{ x }_{ 0 }^{ 4 }-C } \\ \rightarrow \quad \quad 4{ x }_{ 0 }^{ 3 }\cdot { x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ 3{ x }_{ 0 }^{ 4 }+C } \\ \rightarrow \quad \quad 4{ x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ \frac { 3{ x }_{ 0 }^{ 4 }+C }{ { x }_{ 0 }^{ 3 } } } \\ \rightarrow \quad \quad 4{ x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ 3{ x }_{ 0 }+\frac { C }{ { x }_{ 0 }^{ 3 } } } \\ \rightarrow \quad \quad { x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ \frac { 3 }{ 4 } { x }_{ 0 }+\frac { C }{ 4{ x }_{ 0 }^{ 3 } } } \\ \rightarrow \quad \quad { x }_{ 1 }=\lim _{ { x }_{ 0 }\rightarrow { x }_{ 1 } }{ \frac { 1 }{ 4 } \left( { 3x }_{ 0 }+\frac { C }{ { x }_{ 0 }^{ 3 } } \right) } \\ \rightarrow \quad \quad { x }_{ n+1 }=\frac { 1 }{ 4 } \left( { 3x }_{ n }+\frac { C }{ { x }_{ n }^{ 3 } } \right) \) これをC#のコードにすると以下になる(このコードではCに10を代入して4乗根を計算している) #code(csharp){{ using UnityEngine; using System.Collections; public class Numbers5 : MonoBehaviour { void Start () { float x0 = 3f; float c = 10f; float x1 = 0; for (int i = 0; i < 7; i++) { x1 = (1f / 4f) * ((3f * x0) + (c / Mathf.Pow (x0, 3f))); x0 = x1; } print (x1); } } }} 結果出力された値は 1.778279 となり、これは\(\sqrt [ 4 ]{ 10 } \simeq 1.778279\)を表しているので漸化式が正常に機能している事がわかる \(1.778279\times 1.778279\times 1.778279\times 1.778279\simeq 10\) memo: ある特定の横x縦yのグラフがあったとして、ある関数が描くグラフのyの位置時のxの値を知りたい時に 導関数と微分の式で連立方程式を組んで逆算できる。つまりyになるであろうxを導関数から逆算して計算できる 本来、計算機で計算するなら元の関数(元の関数は導関数を積分したものだから)から逆算した方が早い 物理的に考えるなら位置の関数があって、位置の値から時間を求めたいなら位置の関数を利用する方が手っ取り早い もし手元に速度の関数しかないなら、それを積分して位置の関数にして逆算する 微積分のメリットは例えるなら「速度の情報しかない時に位置を想定して時間を計算できる」という部分にある そこに、このような漸化式は「有限回の直接計算をして無限、極限回計算の近似を計算する」という機能を加える 漸化式の計算は複数回繰り返す必要があるので重い処理となる 累乗根や対数など計算機に任せられる部分があるなら積分して位置の関数から値を計算する方が良い ・・もう少しゲーム制作技術に役立ちそうな具体的な例を考えてみる **物理的な値を求める漸化式を作ってみる [#xb9cf616] 思考実験として物理的な値を求める漸化式を作る。 #navi
« Prev
Next »
微積分と物理/微分2 のバックアップ一覧
微積分と物理/微分2 のバックアップソース(No. All)
1: 2015-06-11 (木) 16:11:50
osinko
2: 2015-06-11 (木) 19:06:06
osinko
3: 2015-06-13 (土) 12:23:02
osinko
4: 2015-06-13 (土) 16:55:09
osinko
5: 2015-06-14 (日) 00:09:02
osinko
6: 2015-06-14 (日) 00:13:05
osinko
7: 2015-06-14 (日) 16:48:42
osinko
8: 2015-07-04 (土) 22:07:17
osinko
現: 2015-07-09 (木) 21:57:02
osinko