コード例 #1
0
        public void AddDefaults()
        {
            Grid1D Ox = new Grid1D(10, 3);
            Grid1D Oy = new Grid1D(10, 3);

            v2Datas = new List <V2Data>();
            V2DataOnGrid[]     grid        = new V2DataOnGrid[4];
            V2DataCollection[] collections = new V2DataCollection[4];

            for (int i = 0; i < 3; i++)
            {
                grid[i]        = new V2DataOnGrid("data info2" /*+ i.ToString()*/, 2, Ox, Oy); // test i = 2
                collections[i] = new V2DataCollection("collection info" + i.ToString(), i);
            }

            for (int i = 0; i < 3; i++)
            {
                grid[i].initRandom(0, 100);
                collections[i].initRandom(4, 100, 100, 0, 100);
                v2Datas.Add(grid[i]);
                v2Datas.Add(collections[i]);
            }

            Grid1D nullOx = new Grid1D(0, 0);
            Grid1D nullOy = new Grid1D(0, 0);

            grid[3]        = new V2DataOnGrid("null", 100, nullOx, nullOy);
            collections[3] = new V2DataCollection("null", 100);

            grid[3].initRandom(0, 100);
            collections[3].initRandom(0, 100, 100, 0, 100);
            v2Datas.Add(grid[3]);
            v2Datas.Add(collections[3]);
        }
コード例 #2
0
 public V2DataOnGrid(string info, double freq, Grid1D ox, Grid1D oy) : base(info, freq)
 {
     Info  = info;
     Freq  = freq;
     Grids = new Grid1D[2] {
         ox, oy
     };
 }
コード例 #3
0
        public V2DataOnGrid(string filename) : base()
        {
            /* ФОРМАТ ВХОДНОГО ФАЙЛА
             * 1 строка - Info      - информация о таблице
             * 2 строка - Freq      - значение частоты
             * 3 строка - Grid1D Ox - значения Num и Step через пробел
             * 4 строка - Grid1D Oy - значения Num и Step через пробел
             *
             * 5 строка и дальше - таблица
             * Узел таблицы разделяется пробелом
             * Поля комлексного числа (действительная и мнимая части) нижним подчеркиванием
             *
             */

            /********* Пример входного файла *********/

            /*
             * Information
             * 100
             * 3 10
             * 5 10
             * 12,0_5,23 11,67_7,78 7,16_4,00 8,34_-7,55 1,09_1,09
             * 2,44_-5,43 16,11_7,90 -2,33_4,55 8,76_-7,10 1,01_-1,40
             * 1,67_5,29 1,10_7,36 7,18_-44,44 4,89_-1,10 1,09_1,34
             *
             */
            CultureInfo CIru = new CultureInfo("RU-ru");        // исправлена локализация

            FileStream fs = null;

            try
            {
                //Directory.SetCurrentDirectory()
                Directory.SetCurrentDirectory("..\\..\\..\\");  // путь к исходным файлам проекта
                fs = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fs);

                Info = reader.ReadLine();
                Freq = double.Parse(reader.ReadLine(), CIru);
                string[] str;
                Grids = new Grid1D[2];

                for (int i = 0; i < 2; i++)
                {
                    str           = reader.ReadLine().Split(' ');
                    Grids[i].Num  = int.Parse(str[0], CIru);
                    Grids[i].Step = float.Parse(str[1], CIru);
                }

                Node = new Complex[Grids[0].Num, Grids[1].Num];
                string[] strnode;
                string[] strcompl;

                for (int i = 0; i < Grids[0].Num; i++)
                {
                    strnode = reader.ReadLine().Split(' ');
                    for (int j = 0; j < Grids[1].Num; j++)
                    {
                        strcompl   = strnode[j].Split('_');             // исправлен разделитель
                        Node[i, j] = new Complex(double.Parse(strcompl[0], CIru), double.Parse(strcompl[1], CIru));
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
        }