• 検索結果がありません。

偏微分方程式と P ( x;t ) の数値計算

N/A
N/A
Protected

Academic year: 2021

シェア "偏微分方程式と P ( x;t ) の数値計算"

Copied!
23
0
0

読み込み中.... (全文を見る)

全文

(1)

.

...

偏微分方程式と P (x, t) の数値計算

樋口さぶろお

龍谷大学理工学部数理情報学科

計算科学☆演習II L07(2013-05-22 Wed)

今日の目標 .

1.. P(x, t) の漸化式と,拡散方程式の関係が説明で きる

. ..

2 P(x, t)の漸化式を計算するプログラムが書ける

http://hig3.net

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 1 / 23

(2)

P(x, t)の生成関数Z(λ, t) Quiz解説

ここまで来たよ

1... P(x, t) の生成関数Z(λ, t) Quiz解説

生成関数の定義の復習

Z(λ, t)を用いた期待値の計算

2... 偏微分方程式とP(x, t)の数値計算

P(x, t)と拡散方程式

P(x, t)の数値計算

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 2 / 23

(3)

P(x, t)の生成関数Z(λ, t) Quiz解説

Quiz解答:P(x, t)の意味 λは意味を考えないほうがいいパラメタだ

が,eλ·x という形を考えると, (長さ)1 の次元を持つはず. Z は確率に eλx という次元のない数をかけたもの.

Quiz解答:生成関数

. ..

1 P(x, t+ 1) = 39P(x1, t) +19P(x, t) +59P(x+ 1, t). P(x,0) =δx0. .

2.. 漸化式は,Z(λ, t+ 1) = (39eλ+19 +59eλ)Z(λ, t),初項は Z(λ,0) = 1より,一般項は,Z(λ, t) = (39eλ+19 +59eλ)t. .

..

3 Z(λ,2),eλ の係数を考えて,P(1,2) = 2·1939

(1)では,P じゃなく Z の漸化式と初項を求めてね,と言っています. (1)

P, (2)Zの漸化式を求めてる人多数. 答える場所が違います. P

漸化式は先週済んだから,独立した問にはしてません.

(3)では,確率 29eλ という人多数. ‘(5 +x+ 3x2)2 x3 の係数は?’ って きかれたら 6x3 じゃまずいのでは? 実用的にはλ= 0 とおけばeλ = 1.

(3)では,Z(1,2)を展開する話のときに,いきなり2C1 が出てくる人がい るけど,(a+b+c)t の展開だから,多項係数なのでは?

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 3 / 23

(4)

P(x, t)の生成関数Z(λ, t) Quiz解説

Quiz解答:2項分布でかけるP(x, t) .

..

1

位置 x 確率

2 q2 0 2pq +2 p2 .

2..

位置 x 確率

4 q4

2 4pq3 0 6p2q2 +2 4p3q +4 p4 .

3.. 10C5p5q5= 252p5q5.

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 4 / 23

(5)

P(x, t)の生成関数Z(λ, t) 生成関数の定義の復習

ここまで来たよ

1... P(x, t) の生成関数Z(λ, t) Quiz解説

生成関数の定義の復習

Z(λ, t)を用いた期待値の計算

2... 偏微分方程式とP(x, t)の数値計算

P(x, t)と拡散方程式

P(x, t)の数値計算

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 5 / 23

(6)

P(x, t)の生成関数Z(λ, t) 生成関数の定義の復習

生成関数 Z(λ, t) の定義の復習

.

...

生成関数Z(λ, t) =

+

x=−∞

eλ·xP(x, t).

数列を‘関数’にパッケージしたもの.

Xt+1=Xt+Rt+1, R =

R 確率

−1 q= 1−p

+1 p

,X0 =10 のとき

Z(λ, t) = e10λ(peλ+qeλ)t

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 6 / 23

(7)

P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算

ここまで来たよ

1... P(x, t) の生成関数Z(λ, t) Quiz解説

生成関数の定義の復習

Z(λ, t)を用いた期待値の計算

2... 偏微分方程式とP(x, t)の数値計算

P(x, t)と拡散方程式

P(x, t)の数値計算

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 7 / 23

(8)

P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算

Z (λ, t) を用いた期待値の計算

例 E(Xt) =

+

x=−∞

x×P(x, t)

Z(λ, t) の式の形が(上のように漸化式を解いて)わかってるとする. 上のE(XT)の定義は Z(λ, t) =

x=+ x=−∞

eλxP(x, t) に似てるけど,

x 足りない. eλx がじゃま

また誰かの思いついた超絶技巧λ= 0 での微分係数.

∂λZ(λ, t) λ=0

=

∂λ

+

x=−∞

eλxP(x, t) λ=0

=

+

x=−∞

xeλxP(x, t)

λ=0 =

+

x=−∞

x×P(x, t)

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 8 / 23

(9)

P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算

.

Z (λ, t)

からの期待値の計算 ..

...

一般に期待値は,

E(f(Xt)) = f (

∂λ )

Z(λ, t) λ=0

Z(λ, t) は親玉みたいなもの

母関数

計算例

E(Xt) =

∂λZ(λ, t) λ=0

=

∂λe10λ(peλ+qeλ)t λ=0

答え合わせ まえにやったんだった. X0 = 0 なら,E(Xt) =E(R).

E(Xt2) =?

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 9 / 23

(10)

P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算

2まではすでにやった問題. 3からやろう. .

Quiz(

生成関数

)

..

...

原点 x= 0から出発し,各時間ステップtで確率39xから x+ 1 に,確 率 59x から x−1に移動,確率 19 x にとどまるような,ペンギンの ランダムウォークを考える.

時刻 t に,x にペンギンがいる確率を P(x, t)とする.

. ..

1 生成関数 Z(λ, t) =

+

x=−∞

eλxP(x, t) の満たす漸化式と,初項を求め よう.

. ..

2 生成関数 Z(λ, t) を求めよう. .

3.. 生成関数を展開して,P(1,3)を求めよう. .

..

4 母平均値 E(Xt) を求めよう. .

Quiz(生成関数)

..

...

ランダムウォークの座標 Xtの生成関数がZ(λ, t) = (13eλ+ 23eλ)t であ るとき樋口さぶろお,母平均(数理情報学科)E(Xt)を求めようL07偏微分方程式と. P(x, t)の数値計算 計算科学☆演習II(2013) 10 / 23

(11)

偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式

ここまで来たよ

1... P(x, t) の生成関数Z(λ, t) Quiz解説

生成関数の定義の復習

Z(λ, t)を用いた期待値の計算

2... 偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式

P(x, t)の数値計算

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 11 / 23

(12)

偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式

P (x, t) と拡散方程式

.微分の差分近似の復習

..

...

f(x+ ∆x)−f(x)≃f(x)∆x f(x+ ∆x)−f(x)

∆x →f(x) (∆x0)

微積分,数値計算法

漸化式での更新は,tt+ 1,x1 って言ってきたけど,ここでは tt+ ∆t,x∆x と思おう.

p=q = 12 とすると,例えば, P(x, t+ ∆t) = 1

2P(x∆x, t) + 1

2P(x+ ∆x, t)

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 12 / 23

(13)

偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式

±∆t,±∆x を微分で書きたい…

P(x, t+ ∆t)−P(x, t) =1

2[(P(x+ ∆x, t)−P(x, t))

(P(x, t)−P(x∆x, t))]

∂P

∂t (x, t)∆t=1 2

(∂P

∂x(x, t)−∂P

∂x(x∆x, t) )

∆x

∂P

∂t (x, t)∆t=1 2

(

∂x

∂P

∂x(x, t)∆x )

∆x

∂P

∂t (x, t) =1 2

(∆x)2

∆t

2P

∂x2(x, t) 熱や濃度のときは P(x, t) でなく,よくu(x, t) で書く. .拡散方程式

(

放物型偏微分方程式の典型例

)

..

...

∂u

∂t(x, t) =D·∂2u

∂x2(x, t) D >0:拡散定数

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 13 / 23

(14)

偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式

偏微分方程式

多変数関数 u(x1, x2, . . . , xn)に対する微分方程式で,いろんな変数のの 偏微分が混ざってるもの 常微分方程式 u(t) =2u(t).

拡散方程式,熱方程式は,偏微分方程式の中でも,放物型といわれるタイ

現象の数学A

別のタイプ: 波動方程式,双曲型 現象の数学B,ラプラス方程式,楕円型 太鼓の形

アニメ.

常微分方程式: x(t): x が変化していく

偏微分方程式: u(x, t): 関数 u(x) が変化していく

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 14 / 23

(15)

偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式

.

Quiz(偏微分方程式)

..

...

次のうち,偏微分方程式と呼べるのはどれとどれ? .

..

1 計算科学IIでやったP(x, t) の漸化式(のある極限) .

2.. 物理数学IIでやったニュートンの運動方程式 .

..

3 物理数学IIや数理モデル基礎Iでやったx′′+ax+bx=c.

. ..

4 関数論でやった コーシー-リーマンの関係式 .

5.. 計算科学Iでやったルンゲクッタ法 .

..

6 数理モデル基礎IIでやった,平衡点のタイプを考えるような連立微 分方程式

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 15 / 23

(16)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

ここまで来たよ

1... P(x, t) の生成関数Z(λ, t) Quiz解説

生成関数の定義の復習

Z(λ, t)を用いた期待値の計算

2... 偏微分方程式とP(x, t)の数値計算

P(x, t)と拡散方程式

P(x, t)の数値計算

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 16 / 23

(17)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

P (x, t) の数値計算

大注意:計算機使うけど

標本ナントカ

の計算じゃない.

乱数

不要.

漸化式 P(x, t+ 1) = (P(∗, t)の式) を計算して,横x,tP(x, t) の 表で出力したい.

(rw6,rw7では横がt,n(サンプル番号)だったから逆) P(x, t) を配列 double p[x]で表す. 添字t ?

現在の時刻の p=P(x, t) を更新していく(ランダムウォークの x=x+getrandom(getuniform());と同じのり)

数値計算的悩み 解決 .

1.. x, tの範囲は正負両方配列の添字は0以上 オフセット .

..

2 x, tの範囲は無限 配列のサイズを宣言 境界条件

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 17 / 23

(18)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

オフセット

範囲,x=xmin,· · · ,0,· · · , xmax で,例えばxmin=10のようにxが負 のところも考えたい.

p[-10] とかエラー

1 #d e f i n e XOFFSET 10 /∗ ず ら し 定 数. −XMIN=−x の 最 大 よ り 大 き め,

2 境 界 条 件 を 考 え る と も っ と 大 き く./

3 d o u b l e p [XMAX+XOFFSET ] ; /∗大きめサイズで宣言.

4 境 界 条 件 を 考 え る と も っ と 大 き く./

P(10, t)p[-10+XOFFSET]

...

P(0, t)p[0+XOFFSET]

P(x, t)p[x+XOFFSET]

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 18 / 23

(19)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

プログラムの全体

1 d o u b l e p [XMAX+XOFFSET ] ;

2 d o u b l e p n e x t [XMAX+XOFFSET ] ;

3

4 /∗ こ こ で p [ x ] を 初 項 に 従 っ て 初 期 化 ∗/

5

6 f o r( t =0; t<=tmax ; t ++){

7 / こ こ で 時 刻 t p [ x ] を 出 力 /

8

9 / 漸 化 式 を 適 用 /

10 f o r( x=xmin ; x<=xmax ; x++){

11 p n e x t [ x+XOFFSET] = (∗ p [ x+XOFFSET ] の 出 て く る 漸 化 式 右 辺 ) ;

12 }

13 f o r( x=xmin ; x<=xmax ; x++){

14 p [ x+XOFFSET]= p n e x t [ x+XOFFSET ] ;

15 }

16 }

次に出てくる境界条件は無視して書いてます.

p とpnext の2つが必要. なぜなら…(自分の言葉でどうぞ)

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 19 / 23

(20)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

境界条件

計算機では,しょせん有限範囲 p[xmin+XOFFSET],· · ·,

p[xmax+XOFFSET] しか計算できない.

しか〜し,端で困る. pnext[xmin+XOFFSET]=

0.5*p[xmin-1+XOFFSET]+0.5*p[xmin+1+XOFFSET];

解決策:

解くべき数学の問題を変更する.

P(x, t+ 1) =





1

2P(x1, t) +12P(x+ 1, t) (xminxxmax) スペシャルルール (x≤xmin1) スペシャルルール (x≥xmax+ 1) p[xmin-1+XOFFSET],p[xmin+1+XOFFSET] を強制的に決める

今の場合, p[xmin-1+XOFFSET]=p[xmin+1+XOFFSET]=0としておけ ば,もとの無限領域の問題と似る. 固定境界条件

世の中には,他に自由境界条件,周期境界条件,· · ·

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 20 / 23

(21)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

.

Quiz(P (x, t)

の数値計算) ..

...

次のランダムウォークの確率の漸化式を考える.

P(x, t+ 1) = {1

5P(x1, t) +45P(x+ 1, t) (それ以外)

0 (x≤ −1, x≧6),

P(x,0) = {

0.5 (x= 1,3) 0 (それ以外)

下のような P(x, t) の表を,漸化式を適用して埋めよう. t\x 1 0 +1 +2 +3 +4 +5 +6

0 1 2

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 21 / 23

(22)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

予習復習問題これからは毎週

金11:05締切の予習復習問題は RaMMoodle

http://el.math.ryukoku.ac.jp/moodle計算科学II(講義) で やってね.

水13:35締切の予習復習問題は RaMMoodle

http://el.math.ryukoku.ac.jp/moodle計算科学演習II やってね.

RaMMoodle にはスマートフォンからもアクセスできます.

http://hig3.net> Links>RaMMoodle.

自宅で演習の課題をやろうVisual Studioには Express Editionという‘無 料版’があります. 数理情報学科の学生はDreamSpark 経由で Visual

Studio 製品を自宅で使えます.

https://www.a.math.ryukoku.ac.jp/dreamspark/

演習の休講/補講計画

2013-07-262を予備日(休講候補), 2013-07-053(ここは休講する総 合演習の裏)に補講の予定. インフルエンザや台風が来て全学休講が発生 したら再変更あり樋口さぶろお (数理情報学科). L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 22 / 23

(23)

偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算

講義のプチテストやります!

2013-06-053, 90, 30ピーナツ,参照相談なし. 紙のテスト. 過去問は公開してるけど,今年のQuizや下の出題計画のほうがまだ 参考になるかも.

出題計画(2013-05-29水3L08で詳細化・確定します)

離散的な確率変数が与えられたとき母平均値,母分散,母標準偏差,母 期待値の計算

標本が与えられたとき標本平均値,標本分散,標本標準偏差,標本期待 値の計算

ランダムウォークのE(XT),V(XT)の性質

ラグランジュ表示とオイラー表示

ランダムウォークのルールから,確率P(x, t)の初期条件と漸化式を 求める

P(x, t)の初期条件と漸化式から,生成関数Z(λ, t)の初期条件と漸化 式を求める

生成関数Z(λ, t)から,確率,平均値を求める

連続的な確率変数が与えられたとき母平均値, 母分散,母標準偏差,母 期待値の計算(L08)

樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 23 / 23

参照

関連したドキュメント

 張力下での2次元固体のひび割 れを、100万個の原子を使ってシ

ランダムウォークの境界条件・偏微分方程式の数値計算 ランダムウォークの境界条件 L06-Q1 Quiz(離散的なランダムウォークの確率の転置推移確率行列) 状態空間 {x}

Sobolev 空間 $H^{p}[0,2\pi]$ における Schauder

[r]

[r]

[r]

flag[i][j] i,j 番目の格子点が 、内部電極内ならば 1、それ以外 1 となるフラグ.

( これまで紹介した方法は、すべてこの方法の一種と