1313#define MAX_DIM 13
1414struct VECTOR
1515{
16- int num ; //向量的维数
16+ int num ;
1717 double data [MAX_DIM ];
1818};
1919
2020typedef struct VECTOR mvector ;
2121typedef struct VECTOR * pmvector ;
2222
2323/*****************************************************************************/
24- /*VectorMul(mvector *A,double mul) 向量数乘
24+ /*VectorMul(mvector *A,double mul)
2525/*
2626/*****************************************************************************/
2727extern void VectorMul (mvector * A ,double mul );
2828
2929
3030/*****************************************************************************/
31- /*VectorInit(mvector *A,int dim) 向量初始化
32- /* dim 维数
31+ /*VectorInit(mvector *A,int dim)
32+ /* dim
3333/******************************************************************************/
3434
3535extern void VectorInit (mvector * A ,int dim );
3636
3737/*****************************************************************************/
3838/* VectorAdd(mvector *A,mvector *B,mvector *C)
39- /* 向量加法,结果存放在C中
39+ /*
4040/*****************************************************************************/
4141extern void VectorAdd (mvector * A ,mvector * B ,mvector * C );
4242/*****************************************************************************/
43- /* VectorDistance,用于求两个向量之间的距离,欧氏距离
44- /* A和B是待求距离的两个向量
43+ /* VectorDistance,
44+ /*
4545/*****************************************************************************/
4646extern double VectorDistance (mvector * A ,mvector * B );
4747
48- /*****************************************************************************/
49- /* DTWDistance,求两个数组之间的匹配距离
50- /* A,B分别为第一第二个数组,I,J为其数组长度,r为匹配窗口的大小
51- /* r的大小一般取为数组长度的1/10到1/30
52- /* 返回两个数组之间的匹配距离,如果返回-1.0,表明数组长度太大了
53- /*****************************************************************************/
48+
5449extern double VDTWDistanceFun (mvector * A ,int I ,mvector * B ,int J ,int r );
5550
5651/*****************************************************************************/
57- /* DTWTemplate,进行建立模板的工作
58- /* 其中A为已经建立好的模板,我们在以后加入训练样本的时候,
59- /* 以已建立好的模板作为第一个参数,I为模板的长度,在这个模板中不再改变
60- /* B为新加入的训练样本,J为B的长度,turn为训练的次数,在第一次
61- /* 用两个数组建立模板时,r为1,这是出于权值的考虑
62- /* temp保存匹配最新训练后的模板,建议temp[DTWMAXNUM],函数返回最新训练后模板的长度
63- /* 如果函数返回-1,表明训练样本之间距离过大,需要重新选择训练样本,
64- /* tt为样本之间距离的阈值,自行定义
52+
6553/*****************************************************************************/
6654extern int VDTWTemplate (mvector * A ,int I ,mvector * B ,int J ,mvector * temp ,int turn ,double tt ,double * rltdistance );
6755extern uint8_t tst_beg (double test_buffer [13 ],double aValue [3 ],double wValue [3 ],double AValue [3 ],int adc [4 ]);
6856extern int VDTWD (mvector * TEST ,int J ,int r );
6957extern int judge (double aValue [3 ],double wValue [3 ],double AValue [3 ],int adc [4 ],int cmd );
70- #endif
58+ #endif
0 commit comments