EMGU: создайте матрицу <double>из набора данных TXT. Значение матрицы изменилось после нескольких раз доступа - PullRequest
0 голосов
/ 05 ноября 2018

У меня проблема при создании матрицы из набора данных TXT TXT набор данных 1,2, -1

3,4,5

6,7,8

Я использовал CreateMatrixFromFile для создания матрицы из текстового файла Значение матрицы изменено e.x матрица [0,1] = 2 после нескольких раз доступа к матрице матрица [0,1] = 2 изменена на 0 или близка к нулю

2018/11/5 9:53:02 ----- 2 2018/11/5 9:53:02 ----- 2 2018/11/5 9:53:02 ----- 2 2018/11/5 9:53:02 ----- 2 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0 2018/11/5 9:53:02 ----- 0

2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0

2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 0 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308 2018/11/5 9:53:03 ----- 8.90078774365775E-308

    public static unsafe Matrix<double> CreateMatrixFromFile(string[] fileData, int pointCount)
    {
        List<double> rawdata = new List<double>();
        int subLength = 0;
        for (int i = 0; i < fileData.Length; i++)
        {
            string[] subData = fileData[i].Split(',');

            subLength = subData.Length;
            for (int j = 0; j < subLength; j++)
            {
                double temp = Convert.ToDouble(subData[j]);
                rawdata.Add(temp);
            }
        }

        double[] dataArray = rawdata.ToArray();
        fixed (double* dataPtr = dataArray)
        {
            return new Matrix<double>(pointCount, subLength, (IntPtr)dataPtr);
        }

    }
...