パソコン物理実地指導 プログラムソースファイル等

Copyright 1999- 牧野淳一郎

以下のプログラム等は、「パソコン物理実地指導」に載せたものほぼその ままです(コメントのつき方、改行等、細かな違いはいくつかあると思います)。 プログラムのなかには間違っているもの(正しくない例として出したもの)も ありますし、また牧野が正しいつもりで書いたものもまだ発見されていない間 違いはあると思われますので、以下のプログラムを使う時には個人の責任にお いて行なって下さい。なお、いうまでもありませんが無断での商業利用はしな いで下さい。また、個人での利用に関する限り改変等は自由に行なっていただ いて構いませんが、改変したものをなんらかの形で公表する時にはオリジナル 作成者が牧野であることを示すとともに公表することを牧野まで御連絡下さい。

(ここから 2016年1月追記)

現状では、ここにあるソースプログラムのままでは 現在の C++ コンパイラではエラーになります。以下のような 変更でコンパイル・実行可能になるとのコメントをいただいております (ありがとうございます>志田様)

  1. インクルードファイルなど

    各プログラムの冒頭4行のインクルードファイルを次のように変える.

    #include <math.h>
    #include <iostream>
    using namespace std
    
  2. harmonic5a.cpp をコンパイルする時:

    テキストの p. 30-31 のプログラムは修正せずにそのままにする。 今時の g++ ではエラーになるが、コンパイルオプション -fpermissive をつけるとコンパイルできる。

  3. gnuplot のコマンド形式

    gnuplot のコマンド形式が変わったので、 set data style ... を set style data ... に変更。

すみません、時間ができたらソース等アップデートします。

(ここまで 2016年1月追記)

allfiles.tar以下をすべて tar でまとめたも の (96KB)。
allfiles.tar.gz上の gzip による圧縮版(11KB) 。

2章

2.1節

harmonic.C学生 A による最初のプログラム

2.2節

harmonic1.C学生 A による修正版
harmonic2.C先生による修正版

3章

3.1節

harmonic4.C学生 A による最初のプログラム
harmfig1.gnuGnuplot 用スクリプト
harmonic4a.C最大値だけを書くプログラム
harmonic4a.cshCsh スクリプト
harmonic4a_cut.csh結果ファイルを分 割するCsh スクリプト
harmfig2.gnu周期と誤差の図のGnuplot 用スクリプト

3.2節

harmonic4b.C配列版プログラム

4章

4.1節

harmonic5a.Cvector class を使ったプログラム

4.2節

vector.hvector class 定義ファイル
vector_borland.h上の vector.h とほぼ同じ。 Borland C++ だと出る(らしい)エラーを回避するためのもの。 g++ では警告がでるが、結果はOK。

5章

5.1節

nonlinear.C非線形振動の最初のプログラム
nonlinear.gnu非線形振動の最初の図用 Gnuplot スクリプト
nonlinear.csh非線形振動のデータ作成用 Csh スクリプト(6章の分も含む)
nonlinear_post.csh非線形振動のデー タ解析用 Csh スクリプト(6章の分も含む)

5.2節

calc_diff.awk結果解析用 AWK プログラム (修正版)

6章

6.1節

nonlinear3.C吉田の4次、6次公式

7章

7.1節

nonlinear4.C陰的公式

7.2節

henon1.Cヘノン・ハイレス系。 #define WRONG_PLOT で最初の版、これを定義しないと修正版
henon2_ex1.Cヘノン・ハイレス系。学生によ る間違いあり版
henon2.C上の修正。ただし、関数等はhenonlib.Cにまとめた

8章

8.1節

henon3.C誤差の成長。 8.3 節の関数へのポインタ 使用版

9章

9.1節

nbody.h粒子クラス定義ファイル。
nbody.C多体問題積分プログラム。
nbody2.C多体問題積分プログラム。ベクトル使用 版
integrators.C時間積分用関数をまとめたも の。 nbody2.C から利用

9.2節

nbody2a.C時間刻み調節つき多体問題積分プログ ラム。関数自体は integrator.C の中