null

JohoEnshuu07_12.ppt
情報活用演習07 第12回
~~プログラミング入門(3)~~
担当:水野 恒史
居室:理学部 物理科学科 高エネルギー宇宙研究室 (理学部 B210号室)
電子メール:[email protected]
ホームページ:http://home.hiroshima-u.ac.jp/tsune/
1
JohoEnshuu07_12.ppt
今後のスケジュール
•1/8(第12回):プログラミング入門(3)
•1/15(第13回):応用問題
•1/22(第14回):レポート課題、質問。
•成績は出席とレポート課題で評価します。
•第13回は、物理に関連した問題(グラフ化)を出題。
•最終回(1/22)はレポート課題を提示し、課題の取り組みと質問受
け付けの時間にあてます。
¾質問は、後日居室に来てもらっても構いません。1/22は「まと
めて質問を受け付けるため」という位置づけです。(居室にいな
い事も多いので)
2
JohoEnshuu07_12.ppt
前回までの復習:C言語とgnuplot
•C言語によるプログラム(数学関数の演算)と繰り返し計算
•gnuplotと組み合わせた、グラフ表示
を実習した。休み明けなので復習を兼ねつつ、練習問題に
取り組む。やり方を忘れた人は、演習のページの資料(10
回、11回)を読んで思い出しつつ取り組むこと。
•Taylor展開の計算とプロット。(近似が成り立つ範囲を調べる)
•楕円、放物線、双曲線の計算とプロット(惑星、彗星の運動な
どに応用できる)
3
JohoEnshuu07_12.ppt
復習:C言語+gnuplotによるグラフ表示
•C言語の繰り返しを利用し、数学関数を(x,y)のデータ点として出力
し、gnuplotで表示させることができる。結構便利なので、復習。
•y=sin(x)をデータ点として出力しグラフ表示。数
式のプロットと重ね書き(赤点と緑の線)。前回の
資料10-12ページ参照
•y=0.3sin(10x), y=0.3sin(8x)および両者の和
をグラフ表示。(青点、紫線、水色点)
振動数のわずかに異なる波の重ね合わせは、振動数の差で強弱を持つ波となる(うな
り現象)。この例のように物理現象は、解析的に解かなくても(解けなくても)、計算機上
で「実験」することが可能。
4
JohoEnshuu07_12.ppt
Taylor展開(1)
•関数をべき級数で表すことができ、物理では微小量の近似によく使
う。指数関数なら、exp(x)=1+x+x2/2+x3/6+…となる。近似の成立
する範囲を調べよう。
•3次の項まで展開し、[-1:1]の範囲で計算値と式を比較(赤点と
緑の線)。前回の資料13-15ページ参照
•2次の項まで展開し、計算値をプロット(青点)
•1次の項まで展開し、計算値をプロット(紫点)
[-0.1:0.1]の範囲なら、1次の項まで、つまりexp(x)~1+x
でほぼOKなことが分かる。疑い深い人は拡大表示しよう!
f (2 ) (a )
(x − a )2 + ...
f (x ) = f (a ) + f (x − a ) +
2!
∞
f (n ) (a )
(x − a )n
=∑
n!
n =0
(1)
5
JohoEnshuu07_12.ppt
Taylor展開(2a)
•三角関数では?
•sin(x)を5次の項まで展開し、[- π:π ]の範囲で計
算値と式を比較(赤点と緑の線)。前回の資料16
ページの問題です。
•2次の項まで展開し、計算値をプロット(青点)
•1次の項まで展開し、計算値をプロット(紫点)
[-0.4:0.4]の範囲なら、sin(x)~xでほぼOK。拡大
して確認しよう。
6
JohoEnshuu07_12.ppt
Taylor展開(2b)
•三角関数では?
•cos(x)を4次の項まで展開し、[- π:π ]の
範囲で計算値と式を比較(赤点と緑の線)。
前回の資料16ページの問題です。
•2次の項まで展開し、計算値をプロット
(青点)
•1次の項まで展開し、計算値をプロット
(紫点)
0付近はcos(x)~1でほぼOK。拡大して
確認しよう。
7
JohoEnshuu07_12.ppt
媒介変数表示(1)
•惑星の運動などででてくる円や楕円は、媒介変数表示の方がプロットしやすい。また実は、
放物線や双曲線も媒介変数表示が可能。プログラミングの練習も兼ねて確認してみよう。ま
ずは円の場合から。
半径1の円はtを角度とみなす
と、x=cos(t), y=sin(t)
8
JohoEnshuu07_12.ppt
媒介変数表示(2)
•Program12
実演
プログラムの実行と重ねがきを行な
うと、正しく円になることが分かる。
ちなみにy=sqrt(1-x2)ではy=0付近
がうまく表示できなかった。つまり
(楕)円は媒介変数を使う方が便利。
9
JohoEnshuu07_12.ppt
媒介変数表示(3)
2π
•円:x=cos(t), y=sin(t)
•楕円:x=2cos(t), y=sin(t) (青点)
•x=r*cos(t), y=r*sin(t)でr=cos(t)の
場合 (紫点)
ここまでは、第8回の練習(p.15)のC
言語+gnuplotバージョン
•x=r*cos(t), y=r*sin(t)で
r=1/(1+cos(t))の場合 (水色点)
r=1/(1+2cos(t))の場合 (茶色点)
最後の例は-(x-0.5)=0.5y2の放物線
および9(x-2/3)2-3y2=1の双曲線であ
る。
ちなみに惑星(周回彗星)の軌道は円
ないしは楕円、一般の彗星の軌道は
放物線ないしは双曲線となり、全て
媒介変数表示が可能。
10