とりあえず,Rubyコード.
	sinEm = 1.0
	cosEm = 1.0
	sin_freq = 10.0
	cos_freq = 1.0
	sp = 0
	cp = 0
	sin_phase = sp/180*Math::PI
	cos_phase = cp/180*Math::PI
	TIMESTOP = 5.0
	Sampling = 0.01
	 
	TIME = TIMESTOP / Sampling
	 
	file = File.open("wave.txt", 'w')
	gnufile = File.open("wave.dat", 'w')
	file.puts 'time wave coswave sinwave'
	t = 0.0
	 
	for i in 0..TIME do
	  coswave = cosEm*Math.cos(2*Math::PI*cos_freq*t-cos_phase)
	  sinwave = sinEm*Math.sin(2*Math::PI*sin_freq*t-sin_phase)
	  wave = coswave + sinwave
	 
	  file.print t, " ", wave, " ", coswave, " ", sinwave, "\n"
	  gnufile.print t, " ", wave, "\n"
	  t += STEP
	end
	 
	file.close
	
	
	sinとcosで波形を作っている.生成した波形はtxtファイルとdatファイルにして出力する.
	
	次はバッチファイル.バッチファイルの基本は一行に1つのコマンドを記述すること.
	バッチファイルを実行すると上からコマンドが実行される.
	
	
	
		if exist wave.dat (
	
		del wave.dat
	
		del wave.txt
	
		)
	
		ruby wavegen.rb
	
		if exist wave.dat (
	
		gnuplot -persist waveplot.plt
	
		)
	
		pause
	
		
		
		if文はC言語とかの条件分岐と一緒.if文にある exist はファイルの存在確認をするもの.
		一番上のif文は
		
		1) wave.datがあれば,
		2) del wave.dat を実行
		3) del wave.txt を実行
		 
 
当然wave.datがなければ次の ruby wavegen.rb を実行する.
ruby wavegen.rb を実行後,wave.datが存在するか確認.
gnuplot -persist waveplot.plt を実行.
waveplot.plt はgnuplotのバッチファイル.グラフのフォーマットを設定でき,このファイルをgnuplotに読み込ませれば同じグラフを何度も出すことができる.
-persist はグラフを表示させ続けるためのオプション.これがないと,ウィンドウがすぐ消える.
waveplot.pltの中身は以下のようにしている.
	plot "wave.dat" with lines
	
	
	これで,バッチファイルを起動すると波形を作ってgnuplotで表示してくれる.この一連の動作を自動でやってくれる.
	これを応用するともっと面白いことができそう.しかも,便利!!
	コマンドプロンプトに与えるコマンドはファイルとして残せるため,数の多いライブラリをリンクするときとか,大量のファイルを操作するときなんかにも使える.
	バッチファイルに書けるコマンドはpathが通っていればなんでも使える.例えば,今回使った ruby コマンドとか,インストールすればUNIXコマンドも扱える.
	さらに,バッチファイルは単純な構造をしているため扱いは楽.
	
	今回はこんなところで.Makefileも一緒に勉強するといいかもw
	
	 
PR