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

PDF 応用複素関数レポート課題3

N/A
N/A
Protected

Academic year: 2024

シェア "PDF 応用複素関数レポート課題3"

Copied!
2
0
0

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

全文

(1)

応用複素関数レポート課題 3

桂田 祐史

2022 年 7 月 5 日 , 2022 年 7 月 5 日

• 〆切は7月30日(土曜)23:00 です。

• 提出先は Oh-o! Meiji のレポート・システム、形式はA4サイズPDF。

もし容量制限 (1ファイル30MB) に引っかかった場合は、分割して送って下さい。

• 使用するプログラミング言語は、自分の MacBook で実行して見せることが可能なもの であればなんでも可。

• プログラムとその実行結果、実行するための情報を含めること。

• 実行結果は、数表・グラフを適切に選択して分かりやすく提示すること。

誤差などは固定小数点形式 (C言語の %f) よりは指数形式(C言語の %e) を使う、

むやみに多くの桁を表示しない、あるいは表よりはグラフ (対数目盛りが適当な場 合も多い) を使う。

逆に必要があれば(意味があるならば)多くの桁数を表示させる(%m.nf などを使 う。これは全体の幅 m 桁、小数点以下 n 桁という意味。)。

書式の指定については、C言語の場合は、例えば「浮動小数点数の入出力と四則演 算」1 の「書式指定ミニマム」を見よ。Python の場合も C 言語とほぼ同様の書式 指定が出来る。例えばC言語で

printf("π=%20.15f, e=%e\n", pi, e);

とするのと同じことが、Python では以下のようにして実現できる。

print(’π=%20.15f, e=%e’ % (pi, e))

で実現できる。

グラフ作成に Excel を使う人が例年少なくないけれど、C言語で計算するならば gnuplot, Python で計算するならば matplotlib の機能を使うことを勧めます。

• 念のため: 授業で公開したサンプル・プログラムの入手法

C言語(次のようにして prog20220628というフォルダが現れる)

curl -O http://nalab.mind.meiji.ac.jp/~mk/complex2/prog20220628.tar.gz tar xzf prog20220628.tar.gz

Python (Jupyter notebook用)

curl -O http://nalab.mind.meiji.ac.jp/~mk/complex2/20220628ni.ipynb

1http://nalab.mind.meiji.ac.jp/~mk/labo/text/cminimum/node10.html

1

(2)

課題 3

次の(1)〜(5)からいずれか1つ選んでレポートせよ。

(1) 計算が困難であると予想される定積分 (初等関数で表せない、積分区間全体で被積分関数 が滑らかではない) を自分で選び、数値積分で値を求める。その値がどれくらいの精度か (誤差がどの程度か)、何らかの方法で確認すること。なるべく複数の方法で計算すること。

分割を細かくすると精度がどのように変わるか調べること。

(2) Euler のガンマ定数 γ は、普通γ := lim

n→∞

( n

k=1

1

k logn )

で定義されるが、この式で γ

の値を計算するのは難しい。

(1) γ =

1 0

log log 1 x dx

が成り立つことが知られている。この右辺を DE 公式で数値積分することで γ の近似値 を求めよ。被積分関数 f(x) = log log1x がどういう関数か調べること。結果を何らかの 方法でチェックすること (誤差がどの程度か)。もし出来れば、(1) がなぜ成り立つか調べ ること。

(3) ガンマ関数 Γ(x) :=

0

ettx1 dt (x > 0) を数値積分することにより計算するプログラ ムを作り、どういう範囲のx に対して、どの程度の精度が得られるか、調べよ。被積分関 数 ettx1 がどのような関数か、理解した上で取り組むこと。

(注) よく知られている関数等式 Γ(x) = (x−1)Γ(x−1) を利用すると、どこか都合の 良い幅1 の区間に属するx に対して数値積分でΓ(x) を求めれば良いことになる。

(4) I =

b a

f(x)dxに対する数値積分公式では、f の値のみ用い、f の導関数の値は使わない のが普通であるが、f の値を使って良いならば、補正台形公式と呼ばれる

TN,:=TN h2

12(f(b)−f(a))

が利用できる。台形公式TN と比べて、TN, では精度がどれくらい改善されるか、適当 な被積分関数を選んで実験して調べよ。さらに次のどちらかを行うこと。

(a) Euler-Maclaurin の定理(7月5日の授業スライドで紹介してある) を参考にして、さ らに高次の補正を試みる。

(b) 中点公式 MN で同様の補正をする。

(5) 講義で説明した関数f(x) = 1

1 + 25x2 以外の関数に対して、Rungeの現象が起こるかどう か調べよ(本質的に違うものを複数選んで実験すること)。

2

参照

関連したドキュメント

第 2 章 複素微分積分学ガイダンス 読者への注意 第2章では複素関数の微積分について,これから複素関数論を受講しよ うする主に大学初年次学生向けに事前学習や理論を概観するために書き 上げられたものであり,証明や解説はなるべく省略もしくは大雑把な解 説に留め,直感的(感覚的に)に理解に重点を置いた.さらに深く理解し

[r]

ことであるがいささか高度な話題であるので本章で少しだけ触れることで我 慢した。楕円関数は、

(収束半径ぴったりのと ころで

3.4

[r]

再掲 : FreeFem++ を体験しよう サンプル・プログラム FreeFem++がインストールできたら、ターミナルを開いて以下の4つ のコマンドを順番に実行して下さい。 curl -O http://nalab.mind.meiji.ac.jp/~mk/complex2/potential2d-v0.edp FreeFem++

本日の内容・連絡事項 いよいよ授業は今回を含め残り2回。今回は、二重指数関数型数値 積分公式Mathematicaにも採用されている優秀な数値積分公式 と、関数論を用いた数値積分の誤差解析手法を紹介します。関数論 の意外な活躍が見られるところです。残りの時間でうまく説明でき るかどうか少し心配ですが、多分当初予定していた内容は講義でき ることになりそうです。