2018年12月17日月曜日

リズム認証 実験


本日のゼミでは、ゼミのメンバーの計測したリズムとほかのメンバーのリズムの認証とのユークリッド距離を計算しました。

1. ユークリッド距離を計算するためのユーザ関数「u_dist」をVBAで作成する
 作成手順は以下の通り
   1.Excelファイルの種類を「*.xlsm」とする
   2.Excelのメニューから「開発」→「Visual Basic」を選択し、VBAエディタを開く
   3.VBAエディタのメニューから「挿入」→「標準モジュール」を選択
   4.下記のようにVBAにプログラムを入力する
 ※リボンに「開発」が出ない場合は[ファイル]→[オプション] →[リボンのユーザ設定]を出して右の[メインタブ]の[開発]をチェックする

Option Explicit
Function u_dist(x_range As Range,y_range As Range) As Double
Dim i As Integer
Dim sum As Double
    sum = 0
    For i = 1 To 7
        sum = sum + (x_range.Cells(1, i).Value - y_range.Cells(1, i).Value) ^ 2
    Next
    u_dist = Sqr(sum)
End Function
リスト1.ユークリッド距離を計算するVBAの関数

2. 次に各々のリズム認証とユークリッド距離を計算するユーザ関数を、図1に示すExcelシートに入力する。

図1.実験結果を記入するExcelのシート
入力するセルと関数は以下のとおり。

J2には=u_dist($C2:$I2,'●山 ●生'!$B$7:$H$7)
K2には=u_dist($C2:$I2,'●口 ●々子'!$B$7:$H$7)
L2には=u_dist($C2:$I2,'●田 ●希'!$B$7:$H$7)
M2には=u_dist($C2:$I2,'●松 ●光'!$B$7:$H$7)
N2には=u_dist($C2:$I2,'● ●加里'!$B$7:$H$7)

入力し終えたらJ2:N2をJ101:N101まで複写。
本日はユークリッド距離を求めて終了とします。

次回はリズム認証の成功と失敗の判定を行います。

0 件のコメント:

コメントを投稿