如何在C#中获得两个Int16 []数组之间的相似性?

问题描述 投票:-3回答:1

我正在尝试以两个相同长度的Int16 []数组之间的百分比(浮动)作为相似度对于前:

Int16[] a = { 33, 44, 66 };
Int16[] b = { 0, 77, 3 };

但是我不知道该怎么做,因此我没有该算法的代码。请对此编码算法有帮助吗?

c# algorithm
1个回答
0
投票

使用此代码,您可以计算注释中定义的相似度。对于每个索引,相似性将以百分比形式保存在结果数组中。

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;
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.