Программа на c# вычислить косинус угла между векторами a и b размерностью n=10 по формуле:

228эрагон 228эрагон    1   03.09.2019 03:40    4

Ответы
ExKise ExKise  06.10.2020 13:50
Public static double CosineBetweenVectors(double[] a, double[] b)
        {
            if (a.Length != b.Length || a.Length == 0) throw new Exception("не верные параметры");

            double ab = 0;
            double a_length = 0;
            double b_length = 0;
            for (var i = 0; i < a.Length; i++)
            {
                ab += a[i] * b[i];
                a_length = a[i] * a[i];
                b_length = b[i] * b[i];
            }

            if (a_length * b_length == 0) throw new Exception("Нулевые вектора");

            return ab / Math.Sqrt(a_length) / Math.Sqrt(b_length);
        }
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика