我正在尝试以两个相同长度的Int16 []数组之间的百分比(浮动)作为相似度对于前:
Int16[] a = { 33, 44, 66 };
Int16[] b = { 0, 77, 3 };
但是我不知道该怎么做,因此我没有该算法的代码。请对此编码算法有帮助吗?
使用此代码,您可以计算注释中定义的相似度。对于每个索引,相似性将以百分比形式保存在结果数组中。
if(a.Length == b.Length)
{
double[] result = new double[a.Length];
for(int i = 0; i < a.Length; i++)
{
int diff = Math.Max((int)a[i] - (int)b[i]);
int maxDiff = 32768 - (-32768);
result[i] = (1 - (double)diff / maxDiff) * 100;
}
}