C# MathNet 实现两个向量的点积和方向余弦 - 超简单

C# MathNet 实现两个向量的点积和方向余弦 - 超简单

编码文章call10242025-05-12 11:13:1611A+A-

实现两个向量的点积

在MathNet.Numerics中,你可以使用Vector<double>Vector<T>(其中T是任何数值类型)来表示向量,并使用DotProduct方法来计算两个向量的点积。

以下是一个示例代码,展示如何计算两个向量的点积:

            // 定义两个向量
            var vectorA = Vector<double>.Build.Dense(new double[] { 4, 3, 0, 0, 5, 0 });
            var vectorB = Vector<double>.Build.Dense(new double[] { 5, 0, 4, 0, 4, 0 });

            double LenA = vectorA.L2Norm();
            double LenB = vectorB.L2Norm();

            var dotProduct = vectorA.DotProduct(vectorB);

            double cos_sim = dotProduct / (LenA * LenB);

            Console.WriteLine(#34;夹角余弦相识度: {cos_sim}");
点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4