diagonal() публичный Метод

public diagonal ( ) : Vector
Результат Vector
Пример #1
0
        //! returns the correlation Matrix
        public Matrix correlation()
        {
            Matrix correlation = covariance();
            Vector variances   = correlation.diagonal();

            for (int i = 0; i < dimension_; i++)
            {
                for (int j = 0; j < dimension_; j++)
                {
                    if (i == j)
                    {
                        if (variances[i].IsEqual(0.0))
                        {
                            correlation[i, j] = 1.0;
                        }
                        else
                        {
                            correlation[i, j] *= 1.0 / Math.Sqrt(variances[i] * variances[j]);
                        }
                    }
                    else
                    {
                        if (variances[i].IsEqual(0.0) && variances[j].IsEqual(0.0))
                        {
                            correlation[i, j] = 1.0;
                        }
                        else if (variances[i].IsEqual(0.0) || variances[j].IsEqual(0.0))
                        {
                            correlation[i, j] = 0.0;
                        }
                        else
                        {
                            correlation[i, j] *= 1.0 / Math.Sqrt(variances[i] * variances[j]);
                        }
                    }
                } // j for
            }     // i for
            return(correlation);
        }