• Tidak ada hasil yang ditemukan

微分方程式の数値計算

N/A
N/A
Protected

Academic year: 2025

Membagikan "微分方程式の数値計算"

Copied!
2
0
0

Teks penuh

(1)

微分方程式の数値計算

1次元波動方程式を題材にして 〜

桂田 祐史 2014 年 9 月 18 日

講演資料は

http://nalab.mind.meiji.ac.jp/~mk/20140918/

にあるファイル

20140918.pdf (nalab

l

L

の小文字)。

Safari

で直接読めなくはないが、プログラムのコピー&ペーストがしにくいので、control+

クリックで保存して、プレビューで読むことを勧める。

1

では次の微分方程式を考えている。

(WE) ∂

2

u

∂t

2

(x, t) = c

2

2

u

∂x

2

(x, t) (x ∈ R , t > 0).

ただし

c

は正定数である

(実は波の速さを表す)。

1

任意の関数

f, g

に対して、

(D) u(x, t) := f(x − ct) + g(x + ct)

で定まる

u

(WE)

の解であることを確かめよ。

ヒント: 一般に

{ F (ax + b) }

= aF

(ax + b).

だから例えば

∂t F (at + bx) = aF

(at + bx).

2

では、xの範囲を

0 ≤ x ≤ 1

に限定した次の問題を考えている。

2

u

∂t

2

(x, t) = c

2

2

u

∂x

2

(x, t) (0 < x < 1, t > 0) (WE)

u(0, t) = u(1, t) = 0 (t > 0) (DBC)

u(x, 0) = ϕ(x), ∂u

∂t (x, 0) = ψ(x) (0 ≤ x ≤ 1) (IC)

p

f

は次式で定まる関数とする。

p(x) = {

(x

2

− 1)

4

( | x | < 1)

0 ( | x | ≥ 1), f (x) = p (

10 (

x − 1 2

))

(0 ≤ x ≤ 1)

1

(2)

0.2 0.4 0.6 0.8 1.0 -0.2

0.2 0.4 0.6 0.8 1.0 1.2

1: f

のグラフ

( x −

12

< 0.1

だけ盛り上がっている) たたき台プログラム

(山が割れて左右に進む)

Clear[p,f,phi,psi,nextu];

p[x_] := If[Abs[x] < 1, (x^2 - 1)^4, 0];

f[x_] := p[10(x-0.5)];

phi[x_] := f[x];

psi[x_] := 0;

NN = 100; c = 1; lambda = 1; dx = 1.0/NN; dt = lambda*dx/c;

lambda2=lambda^2;

u = Table[phi[i*dx], {i, 0, NN}];

oldu = u;

u = oldu + dt*Table[psi[i*dx], {i, 0, NN}];

nextu[n_] :=

(v = 2*(1 - lambda2)*Take[u, {2, NN}]

+ lambda2*(Take[u, {3, NN + 1}] + Take[u, {1, NN - 1}]) - Take[oldu, {2, NN}];

oldu = u;

u = Append[Prepend[v, 0], 0]

);

Animate[ListPlot[nextu[n], Joined -> True, PlotRange -> {-1.1, 1.1}], {n, 1, Infinity},AnimationRunning->False]

2 t = 0

のとき

f

に一致して、最初のうちは右方向に進む波、つまり

(⋆) u(x, t) = f(x − ct) (t

が小さいうち)

となる解

u

をシミュレートしてみたい。(波が端に到達しないうちは、無限の長さの弦と同じ で、こういう式で表される解があるだろう。)

(1) (⋆)

(IC)

から

ϕ

ψ

を求めよ

(f

で表せる)。

(2)

プログラムの

phi[], psi[]

を、(1) で求めた

ϕ, ψ

を計算するように必要に応じて書き換 える

(f , p

の導関数が必要になる)。

(3)

プログラムを実行して、どうなるか調べ、簡単に説明する。

2

Referensi

Dokumen terkait

二、 一阶微分方程组初值问题的数值解 这里为书写简便,只讨论含两个未知函数的微分方程组,含多个未知函数的微分方程 组,计算公式类同... 三、 边值问题

3.4 三角関数入力 1 以下の微分方程式を解け。ただし、実数定数ω,β はω >0, β̸=ω を満たすとする。 d2x dt2 +ω2x= cosβt 10 [Step 1] まず、10式右辺=0とした斉次微分方程式の一般解を求める。x=eλt λは定数の形の解を仮定して得ら れる特性方程式 λ2+ω2= 0 を解くと2つの2虚数解 λ=±i ω

評価(ルーブリック) 達成度 評価項 目 理想的な到達 レベルの目安 優 標準的な到達 レベルの目安 良 未到達 レベルの目安 不可 ① VBA エディタを使用し マクロを正確に(8 割以 上)編集することができ る VBA エディタを使用しマク ロをほぼ正確に(6 割以上) 編集することができる VBA エディタを使用しマク

10.1.1 高周波成分を用いた安定性の考察 計算が発散してしまわないためには,すべての場合において|p| ≤ 1が成り立てば 良い.. ∆x及び ∆tを固定したとき,式10.1.10において|p|が最大となるのは,sink∆xが極値を

確率積分と確率微分方程式 Stochastic Integrals and Stochastic Differential Equations 平場 誠示 Seiji HIRABA 目 次 1 確率過程の定義 Definition of Stochastic Processes 1 1.1 確率空間と確率過程.. 15 3 確率積分Stochastic