PREVIOUS | TOP |

(第13〜15回) 最終課題演習

C言語基礎まとめ

LaTeX基礎復習(雛形ファイル)

gnuplot補足

その他の参考資料

基本文法のまとめ

プログラミング言語C 以降、K & Rと略記します。

関連のあるPDFの資料

目標

最終課題演習では、

  1. 第11回、第12回の課題演習についてより深く考察し、 その結果をレポートにまとめてもらいます。
  2. 余裕のある人には発展問題としてルンゲクッタ法や、 摩擦のあるときの放物運動と最大飛距離の問題にも取り組んでもらいます。

レポート作成にはLaTexを用います。 提出されたレポートをもとに、 学習や研究に役立つ計算機の使用が出来ているかについて評価します。

などが、評価のポイントです。

必修課題: LaTexによるレポート作成

水平面から斜め上方に、初速度v(0) 、角 度θで投射された質点の 運動(放物運動)を記述する運動方程式を オイラー法によって数値的に解け。 レポートには、つぎの各項目を含ませ ること。

以下のLaTexソースのテンプレートに追記、修正することで、 各自の考察結果をレポートにまとめよう。 レポートに必要とされる内容は、

  1. 本問題にたいするオイラー法の説明。
  2. 第11回のCによるソースコードの記述。
  3. 対応する解析解をもとめる。 最大飛距離、所要時間も手で計算する。
  4. 得られた実行結果のデータをつかっ て、gnuplotでグラフを描く。 解析解のグラフも入れる。 計算結果がグラフで分かりやすく示されていること。 (第11回の内容)。 また、LaTeXにグラフを首尾よく取り込む。
  5. 時間の刻みにたいする数値解の精度 を調べる(第11回の内容)。
  6. 角度θを変えて、最大飛距離について 数値的に調べる。 結果をgnuplotで描く (第12回課題1の内容)。 それをLaTexに取り込む。
  7. 最大飛距離をプログラムをつかって数値 的に求める。(第12回めのプログラム、課題2cを入れる。 時間のないときは課題2bでもよい。 それでも余裕のないひとは、課題2aにしておく手もある。 もちろん、実行結果も入れる)。
  8. 計算結果に関する物理的考察が与えられていること。

です。参考資料 ( LaTex 文書作成入門 | LaTex記号一覧 | ギリシャ文字)

LaTeXソースファイルの雛形

以下のファイルを参考にするとよい。 LaTeXに慣れていない人は さらにかんたんな雛形の例のページ を参考にして、 もっと基本的なところから復習するのもひとつ のやりかたである。
%
%
% LaTexテンプレート
%
%
\documentclass[11pt]{jarticle}
\usepackage{amsmath,amssymb}
\usepackage{ascmac}
\usepackage{graphicx}
\renewcommand{\topfraction}{0.8}
\renewcommand{\bottomfraction}{0.8}
\renewcommand{\dbltopfraction}{0.8}
\renewcommand{\textfraction}{0.1}
\renewcommand{\floatpagefraction}{0.8}
\renewcommand{\dblfloatpagefraction}{0.8}
\setcounter{topnumber}{3}
\setcounter{bottomnumber}{3}
\setcounter{totalnumber}{3}
\begin{document}
\title{放物運動の数値計算について}
\author{名前 学生番号} 
\maketitle
\begin{abstract}
概要のこの箇所では、各自がこのレポートで調べて分かったことを簡潔に記述してください。
\end{abstract}

\section{物体の運動方程式と数値計算法}

(レポートの書き出しの例)

本レポートでは、
空気抵抗の無視できる物体の放物運動について考察する。
......
と表されることが知られている\cite{parity}。
% \cite{parity}では参考文献の文献番号を参照してます。
.......

% 複数行の数式はeqnarray環境で
\begin{eqnarray}
m\frac{d^2 x}{dt^2}&= &0 \\
m\frac{d^2 y}{dt^2}&= & -mg
\label{eqn:eq_of_motion}
\end{eqnarray}
% &のところで数式は揃えられます

\section{オイラー法による数値解\label{sec:euler}}
% \label{ラベル}で章の番号をラベルできます。
(\ref{eqn:eq_of_motion})をオイラー法で差分化
する。
%第11回のWeb Pageの始めの部分をそのままつかえばよい。
\begin{eqnarray*}
...
\end{eqnarray*}

% align*環境では数式に番号がつきません

% プログラムのソースコードを記述するにはverbatim環境をつかう
%第11回目のプログラム(課題1)
\begin{verbatim}
% ここにソースコードを記述する
#include ...
#define  PI 3.141592
int main(){ 
 ......
 ......
  return 0;
}
\end{verbatim}


% グラフの読み込みはfigure環境でincludegraphicsすればいい
次のグラフは、
$dt$ごとの座標値$x,y$のデータから
その軌跡を描いたものである。
\begin{figure}[htbp]
\center
\includegraphics[width=8cm]{delta_t-trajectories.eps}
%                            (↑ここは各自のファイル名
 %                             を入れる。
%                   このままコンパイルすると
%                     図の本体がないというエラーが出る。)
\caption{
% ここはキャプションといって図の説明をかくところです。
初速度$v=10$ m/s、
$\theta=45^\circ$で打ち出されたピンポン球の運動の軌跡($t \le 1.5$ s)。
時間刻みは
$dt=0.125,0.0015625,0.0001953125$ s。}
\label{eqn:delta_t-trajectories}
\end{figure}

%%%%%%%%%%
\section{解析的な解}
この問題は解析的にかんたんに解くことができる。
数値解と比較するために、この節では解析解を求めておく。
...
最大飛行時間は...である。
最大飛行距離は...である。
%%%%%%%%%%%%%%%%%%%%%%%%
\section{数値解の精度}
%%%%%%%%%%%%%%%%%%%%%%%%
ここでは、数値解の精度について考察する。
1次解法のオイラー法を採用したので時刻$t$での数値解の誤差$\Delta$は、
$C$をある定数として
\begin{align}
\Delta\equiv \|\text{時間刻み}dt\text{での数値解}-\text{真の解}\|
\sim C dt
\label{eq:gosa} % 式にeq:gosaとラベルしました
\end{align}
なる$dt$依存性を持つ。
% 数式中の文字、上の"時間刻み"、"真の解"は\text{}の中に書きます
.......
時間刻みが最小の数値解を真の解の代わりに用いて
式(\ref{eq:gosa})を評価した。
% eq:gosaでラベルされた数式の式番号は\ref{eq:gosa}で参照できます。
\begin{figure}[htbp]
\center
\includegraphics[width=8cm]{log-log.eps}
%                            (↑ここは各自のファイル名
 %                             を入れる。
%                   このままコンパイルすると
%                     図の本体がないというエラーが出る。)
\caption{時間刻みにたいする
Euler法による数値解の解析解からのずれの対数プロット}
\end{figure}
\section{最大飛距離について}
数値計算には、
\ref{sec:euler}章で説明したプログラムを用いた。
初期速度が$v_0=10$、角度$\theta=42,\cdots,,45,46,47$の場合の
運動の軌跡を図\ref{fig:v0=10}に示した。
% 章番号も図番号も\ref{ラベル}で参照できます。
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=10cm]{v1_kidou.eps}
 %                          (↑ここも各自でつくった
%                            ファイル名)
%あるいは
\scalebox{.5}{\includegraphics{v1_kidou.eps}}
 \caption{
$v_0=10$, 角度$\theta=42,\cdots,45,46,47^\circ$の場合の運動の軌跡。
運動の数値計算にはオイラー法を用いた。
時間の刻みは$dt=0.0001$で計算した。}
\label{fig:log-log}
% ここでこのfigureにラベルをつけました。
\end{center}
\end{figure}

\section{飛距離を求めるプログラム}
% 第12回めのプログラム、課題2cを入れる。
% 時間のないときは課題2bでもよい。
% それでも余裕のないひとは、課題2aにしておく手もある。
実行結果とグラフ(角度にたいする最大飛距離)も入れる。
ただし、課題2cでΘの刻みを細かくして、結果の行数がおおきくなった場合は、
グラフのみでかまいません。
解析解のあたえる最大飛距離も記述してください。
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=10cm]{theta-max.eps}
 %                          (↑ここも各自でつくった
%                            ファイル名)
%あるいは
\scalebox{.5}{\includegraphics{theta-max.eps}}
 \caption{角度$\theta=42,\cdots,45,46,47^\circ$の場合の最大飛距離。
時間の刻みは$dt=0.0001$で計算した。}
\label{fig:theta-max}
% ここでこのfigureにラベルをつけました。
\end{center}
\end{figure}
\section{発展問題}

\section{まとめ}
計算機を用いて
.....
...の効果を取り込んだ計算を行う必要があることが分かった。
\\

 参考文献はthebibliography環境に記入します
\begin{thebibliography}{99}
 \bibitem{parity} % bibitemコマンドでラベル付けします
パリティ物理学コース「一般物理学(上)」、太田信義

 \bibitem{anotherbook}
物理学叢書11a 「古典力学(上)」、ゴールドスタイン、吉岡書店


\end{thebibliography}

\end{document}

発展問題

上記の必修課題が出来た人は 以下の発展問題にチャレンジしてください。 これらの問題以外に興味のある現象などあるばあいは、 計算機をつかってその現象を考察してください。 その分析の結果をレポートにまとめてもらってもいいです。 その内容を成績に反映します。

ルンゲクッタ法

発展課題0
オイラー法よりも高精度なルンゲクッタ法 を用いて放物運動を必修課題と同様にして考察する。

空気抵抗

上記課題では空気抵抗を無視したが、 その効果が放物運動に与える影響について 以下のように考察を進める。
空気抵抗

空気中を運動する物体は、空気から 速さに比例する粘性力と 速さの2乗に比例する慣性力とを受ける。
半径Rの球状の物体が受ける
粘性抗力は F粘性=6πηR v
慣性抗力は F慣性=πc ρ(R v)2/2
である。ここで vは物体の速さで、ηは空気の動粘性係数 μ=1.8×10-5 N・sec/m(15 ℃) 、cの空気抵抗係数は0.3、 ρは空気密度1.2kg/m3 である。 速さvが小さいときには粘性 > 慣性 となり、 vが大きいときには粘性 < 慣性となることが分かる。
より詳しくは、 レイノルズ数という指標を用いて判定することができる。 レイノルズ数Reは ~ F慣性/F粘性 ~ ρRv/η
と定義される。 Re<1のとき、F粘性だけ Re>1000のとき、F慣性だけ 1< Re <1000のときは、両方が寄与する。

ピンポン球の受ける空気抵抗

速さ10 m/sで運動するピンポン球の受ける空気抵抗を考えよう。 ピンポン球は、直径40mm・重さ2.7gである。 v=10 m/sのときの レイノルズ数は、上式よりRe~10000となる。 この評価より、 ピンポン球が受ける空気抵抗は主に慣性抗力であることが分かる。

空気中の斜方投射
時刻t=0に原点から 初速度 v0 角度Θでピンポン球を斜方投射したとする。
発展課題1: プログラム作成

空気抵抗と重力を受けるピンポン球に対する運動方程式

を解くオイラー法のプログラムを作成せよ。 ここで、b= πc ρR2/2 である。
ただし、このプログラムは、コマンドライン引数から 初速度、投射角、終了時間、時間刻み の入力を受け入れるものとする。

発展課題2: プログラムの精度チェック

ピンポン球を初速度10 m/s、角度45で斜方投射した場合のピンポン球の運動を 考えよう。 課題1のプログラムを用いて 時間刻みΔtをさまざまに変化させながら t=1.5秒後のx,yの値を計算しよう。 (x,y)の値のΔt依存性を調べることで、 数値計算法の理論精度が達成されていることを確かめよ。

発展課題3: 空気抵抗のある場合の最大飛距離

空気抵抗と重力を受ける場合に、飛距離を計算するプログラムを作成し、 さまざまな初速度v0のもとで最大飛距離となる角度Θを求めよ。

最終課題の提出について

必修課題に取り組みLaTexでレポートにまとめる。 必修課題に加え発展課題もできていれば、その分、加点します。 このLaTexソース(report13.texとしておきます)をコンパイルする。

$ platex report13

出来たdviファイルからPDFファイルをつくる。

$ dvipdfmx  report13.dvi

ドキュメントビューワで開く。

$ evince report13.pdf &

A4用紙に両面印刷する。

『ドキュメントビューア』のメニューで
ファイル → 印刷 をえらぶ。
(あるいは、「Ctrl - p」でもよい。)
出てきたウィンドウで印刷ボタンを押す。

出来上がった文書をホチキス止めしたものを 情報処理演習の統一レポート試験の答案として提出すること。

<<レポート番号について>>
レポート番号および論題は、CAMPUSWEBに発表されています。
※ 必ずCAMPUSWEBを見ておいてください。
PREVIOUS | TOP |