Document

授業計画書
12.アプリケーションの作成
アプリケーションの作成を通したプログラムの理解
12.1 確認・提出事項
第十一回目のレポート提出
12.2 授業内容
インターフェイス
知っていると便利なアルゴリズム
演習
エクセルを用いたデータ処理
12.3 インターフェイス
使いやすいインターフェイスとは?
12.4 知っていると便利なアルゴリズム
ショートテクニック集
12.5 演習
12.6 アルゴリズム教室
データの平滑化
12.7 レポート課題
※これまでの授業用資料、レポート課題等は
http://ace.cen.kagoshima-u.ac.jp/bunseki/proex/proex.htm
にアップロードしてあります。
質問、レポート提出先
[email protected]
【演習】
【演習1】
A1~C20の範囲に、1~20の間の乱数を表示させよ。
1~20の間の乱数の求め方(あらかじめaをInteger型で宣言しておく)
a = Int(Rnd(1) * 20) + 1
※Rnd関数で0以上1未満の乱数(小数)を発生させる
20をかけることで0以上20未満の乱数(小数)になる
Int関数を用いることで、0以上19以下の整数となる
1を足すことで1以上20以下の整数となる。
【演習2】
A1~A20の範囲で、5よりも小さな数字の数を数え、メッセージボックスで
「○個です」と表示させよ。
(演習1で作成した乱数を使用)
~の数を数える(あらかじめcounterをInteger型で宣言しておく)
If 【条件】 Then counter = counter + 1
1
【エクセルを用いたデータ処理】
科学にエクセルを利用する利点は、大量のデータを統計的に処理出来る点である。
計算精度はMathmatica等よりも劣るが、簡単にデータを視覚化することができる。
【移動平均法を用いたノイズの平滑化】
移動平均法
単純な変動のパターンを繰り返すデータに対して有効な分析手法。
一般的には、株価や商品の仕入値の予測などに使用するが、簡単なノイズ除去
には十分に利用できる。
実際に、肥後研究室ではこの方法による測定データのノイズ除去を行っている。
【演習】ブックを新規作成して、以下のプログラムを実行し、グラフをかけ。
Sub noise()
Dim i As Integer
'i:カウンタ
For i = 0 To 360
Cells(i + 1, 1) = i
'A列に横軸出力
Cells(i + 1, 2) = 5
'B列に直線出力
Cells(i + 1, 3).Value = 5 + (Rnd(1) * 0.5) - 0.25
'C列にノイズ混じりの直線出力
Next
End Sub
【移動平均法】
以下のようにデータが分散していたとする。
Y
2
2'
1
7
3
3'
5
4'
5'
4
6'
6
X
1、2、3の平均をとって、これを2'とする。
2、3、4の平均をとって、これを3'とする。
・
・
・
これを繰り返すことによって、ランダムノイズを減少させることができる。
コントロールを二種類以上を用いてプログラムを作成せよ。
ただし、ラベルコントロールはカウントしない。
また、リストボックスとコンボボックスは同一種類と見なす。
アルゴリズム
最大値や平均の求め方
セルに「関数」を書き込むことにより、
Excelの機能をそのまま利用する。
Range("B2").Value = "=MAX(A2:A5)"
経過時間の算出
「計測前」のtimerの内容を記録しておき、
計測後にその差をとって「経過時間」を算出する。
Dim MyTime As Single
MyTime = timer
MsgBox "計測中(" & a & "秒コース)"
Dim b As Integer
b = timer - MyTime
Timer関数:午前0時から
経過した秒数を
表す