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]); }
public V2DataOnGrid(string info, double freq, Grid1D ox, Grid1D oy) : base(info, freq) { Info = info; Freq = freq; Grids = new Grid1D[2] { ox, oy }; }
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(); } } }