ここには、EE科 4年前期実験 テーマGの素材を全て置いてある。(考察含む)
なお、レポート本体は置いていないので注意されたい。
手順書にはC言語で書くことを前提とした指示があるが、このリポジトリでは全てJavascriptで記述している。
このため、コードを読む際は注意されたい。
前述の通り、Javascriptで実装されているので、コンパイルは不要である。ただし、clone直後に実行しなければならないコマンドがある。これは後述する。
開発環境のNode.js
およびnpm
のバージョンは以下の通りである。
この環境は、nvm
をインストールしてある PC であれば、nvm use v12.2.0
で再現できる。
これより古いバージョンを用いることも可能と考えられるが、イテレータを用いているため古過ぎると動作しないことも付け加えておく。
$ node -v
v12.2.0
$ npm -v
6.9.0
以下、上記のバージョンのNode.jsとnpmがインストールされていると仮定して進めていく。
clone 直後の状態では依存関係がインストールされていないため、これをインストールする必要がある。
$ cd 4ee-exp-theme-g
依存関係をインストール
$ npm i
数値計算して、gnuplotにコマンドをいちいち入力して...という操作がめんどくさいのは明らかであるから、一連の作業を一度に自動化して行うショートカットを用意した。
(npmのscriptとしてこれらを実現している。)
予備実験
$ npm run pre
実験
$ npm run main
(インパルス応答のみ)
$ npm run main_impulse
(ステップ応答のみ)
$ npm run main_step
考察1
$ npm run extra1
(インパルス応答のみ)
$ npm run extra1_impulse
(ステップ応答のみ)
$ npm run extra1_step
考察2は調査課題のため、ここでは取り扱わない。
考察3
$ npm run extra3
考察4
$ npm run extra4
考察5
$ npm run extra5
結果は全てtmp/ディレクトリ以下に出力される。
このリポジトリでは、作業を低減するためにいくつかに要素を分割している。
それらの内容は以下の通りである。
ディレクトリ名 | 内容 |
---|---|
functions/ | この実験で使用する関数 |
gnuplot/ | gnuplot に与えるスクリプト |
jobs/ | 各実験・考察のプロットデータを出力するコード |
methods/ | オイラー法およびルンゲ・クッタ法のコード |
tmp/ | プロットデータとグラフの出力結果 |