授業計画書 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時から 経過した秒数を 表す
© Copyright 2024 ExpyDoc