public void BeeHiveVersNotBeeHive()
        {
            string BeeHiveAdress    = @"C:\Users\крендель\Desktop\Code\Defect2019\bin\Debug\EllipseData";
            string NotBeeHiveAdress = @"C:\Users\крендель\Desktop\Code\Defect2019\bin\Release\EllipseData";
            string Symbols          = "ABCDEFGH";

            string[] files = new string[Symbols.Length * (Symbols.Length - 1)];
            int      k     = 0;

            for (int i = 0; i < Symbols.Length; i++)
            {
                for (int j = 0; j < Symbols.Length; j++)
                {
                    if (i != j)
                    {
                        files[k++] = $"{Symbols[i]}to{Symbols[j]}(MaxCoordinate).txt";
                    }
                }
            }

            double[] Get(string path) => files.Select(s => Expendator.GetStringArrayFromFile(Path.Combine(path, s))[2].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)[2].ToDouble()).ToArray();

            var vec1 = Get(BeeHiveAdress);
            var vec2 = Get(NotBeeHiveAdress);

            using (StreamWriter r = new StreamWriter("bee.txt"))
                for (int i = 0; i < vec1.Length; i++)
                {
                    r.WriteLine($"{vec1[i]} {vec2[i]}");
                }

            Expendator.StartProcessOnly("TestBee.r");
            Process.Start("bee.png");
        }
Exemplo n.º 2
0
        public async void анимацияПоПоследнимСохранённымДаннымToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!File.Exists("3D ur, uz(info).txt"))
            {
                MessageBox.Show("Не найдено файла со списком изображений", $"Нет списка \"3D ur, uz(info).txt\"", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }


            string[] st = Expendator.GetStringArrayFromFile("3D ur, uz(info).txt", true);
            for (int i = 0; i < st.Length; i++)
            {
                if (!File.Exists(st[i]))
                {
                    FlexibleMessageBox.Show($"Не найдено файла \"{st[i]}\" из списка изображений. Анимация не готова", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    if (FilesUrUzExist(st) && MessageBox.Show($"Поскольку все нужные текстовые файлы в наличии, изображения можно восстановить. Создать анимацию? (может занять около 15 минут)", "Перерисовка", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                    {
                        await Task.Run(() => Expendator.StartProcessOnly("ReDraw3Duxt2.r", true));

                        break;
                    }
                    else
                    {
                        return;
                    }
                }
            }


            new Anima(st).Show();
        }
 public void Vg2()
 {
     double[] w = Expendator.GetStringArrayFromFile("vg.dat", true).Select(s => s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)[1].Replace('.', ',').ToDouble() * pimult2 * 1e-3).ToArray();
     foreach (var c in w)
     {
         Console.WriteLine($"{c}  {Functions.Vg(c)}");
     }
 }
Exemplo n.º 4
0
        static void ReadData()
        {
            //File.Copy(Expendator.GetResource("Файл с данными.txt"), Environment.CurrentDirectory);
            var arr = Expendator.GetStringArrayFromFile("Файл с данными.txt", true).Where(s => !s.StartsWith('#')).ToArray()[1..];

            double getVal(string s) => s.Split(' ')[1].ToDouble();

            var ind = Array.IndexOf(arr, arr.First(p => p.StartsWith("xmin"))) - 1;

            funcs = arr[..ind];
        static void Main(string[] args)
        {
            string BeeHiveAdress    = @"C:\Users\user1\source\repos\CodeIt\Defect2019\bin\Release\EllipseData";
            string NotBeeHiveAdress = @"C:\Users\user1\Desktop\EllipseData";
            string Symbols          = "ABCDEFGH";

            string[] files = new string[Symbols.Length * (Symbols.Length - 1)];
            int      k     = 0;

            for (int i = 0; i < Symbols.Length; i++)
            {
                for (int j = 0; j < Symbols.Length; j++)
                {
                    if (i != j)
                    {
                        files[k++] = $"{Symbols[i]}to{Symbols[j]}(MaxCoordinate).txt";
                    }
                }
            }

            double[] Get(string path) => files.Select(s => Expendator.GetStringArrayFromFile(Path.Combine(path, s))[2].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)[2].Replace('.', ',').ToDouble()).ToArray();

            var vec1 = Get(BeeHiveAdress);
            var vec2 = Get(NotBeeHiveAdress);

            double s1 = 0, s2 = 0;

            using (StreamWriter r = new StreamWriter("bee.txt"))
                for (int i = 0; i < vec1.Length; i++)
                {
                    r.WriteLine($"{vec1[i]} {vec2[i]}");
                    Console.WriteLine($"{vec1[i]} \t{vec2[i]} " + ((vec1[i] >= vec2[i]) ? "\tЛучше  +" : "\tХучше  -"));
                    double tmp = vec1[i] - vec2[i];
                    if (tmp < 0)
                    {
                        s2 -= tmp;
                    }
                    else
                    {
                        s1 += tmp;
                    }
                }
            Console.WriteLine($"Выигрыш = \t{s1} ({Expendator.GetProcent(s1, s1 + s2)}%)");
            Console.WriteLine($"Проигрыш = \t{s2} ({Expendator.GetProcent(s2, s1 + s2)}%)");

            File.Copy(Expendator.GetResource("TestBee.r", "OptimisationTest"), "TestBee.r", true);
            Expendator.StartProcessOnly("TestBee.r");
            Process.Start("bee.png");

            Console.ReadKey();
        }
        /// <summary>
        /// Просуммировать все замеры
        /// </summary>
        private void SSum()
        {
            var p = Expendator.GetStringArrayFromFile("WhereData.txt");

            string[]   names  = Expendator.GetStringArrayFromFile("textnames.txt");
            string[][] fnames = new string[p.Length][];

            for (int k = 0; k < p.Length; k++)
            {
                string[] tmp = Expendator.GetStringArrayFromFile(Path.Combine(p[k], "textnames.txt"));
                fnames[k] = new string[names.Length];
                for (int i = 0; i < names.Length; i++)
                {
                    fnames[k][i] = Path.Combine(p[k], tmp[i]);
                }
            }

            int len = count * count2;

            Parallel.For(0, names.Length, (int i) =>
            {
                Vectors v  = new Vectors(len);
                Vectors v1 = new Vectors(len);
                for (int k = 0; k < p.Length; k++)
                {
                    v  += Vectors.VectorFromFile(fnames[k][i].Replace(".txt", " (ur).txt"));
                    v1 += Vectors.VectorFromFile(fnames[k][i].Replace(".txt", " (uz).txt"));
                }

                v.ToFile(names[i].Replace(".txt", " (ur).txt"));
                v1.ToFile(names[i].Replace(".txt", " (uz).txt"));
            });

            string name = Expendator.GetWordFromFile("SurfaceMain.txt");

            names = new string[p.Length];
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = Path.Combine(p[i], Expendator.GetWordFromFile(Path.Combine(p[i], "SurfaceMain.txt")));
            }

            Vectors vv1 = new Vectors(len), vv2 = new Vectors(len);

            for (int k = 0; k < p.Length; k++)
            {
                vv1 += Vectors.VectorFromFile(names[k] + " (ur).txt").Norming;
                vv2 += Vectors.VectorFromFile(names[k] + " (uz).txt").Norming;
            }
            (vv1 / p.Length).ToFile(name + " (ur).txt");
            (vv2 / p.Length).ToFile(name + " (uz).txt");
        }
        /// <summary>
        /// Вычисление u(x,t)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async Task UxtCalcAsync()
        {
            label9.Show();
            пределыПоОсиZПриПромежуточномРисованииToolStripMenuItem.Enabled = false;
            ускоренныйПараллелизмДляUxtToolStripMenuItem.Enabled            = false;
            //OtherMethods.CopyFiles();

            SetLastTimeConfig();
            label9.Text = "Копирование скриптов";
            OtherMethods.CopyFilesTxt();
            string[] dir = Expendator.GetStringArrayFromFile("WhereData.txt", true);

            for (int i = 0; i < dir.Length; i++)//между циклами можно включить задержку на время выбора параметров, хотя лучше не надо
            {
                await UxtIterationAsync(dir[i], i, dir.Length);
            }

            await AfterLoopsActAsync();
        }
 private void toolStripButton3_Click(object sender, EventArgs e)
 {
     string where = Path.GetDirectoryName(Expendator.GetWordFromFile("WhereData.txt"));
     MakeEllipses(Expendator.GetStringArrayFromFile(Path.Combine(where, Path.Combine("EllipseData", "Params.txt")), true));
 }
 private Tuple <string[], string[]> GetDataPaths()
 {
     string[] names     = Enumerable.Range(0, sources.Length).Select(i => $"Array{dataGridView1[1, i].Value}.txt").ToArray();
     string[] wheredata = Expendator.GetStringArrayFromFile("WhereData.txt").Select(s => Path.Combine(s, "Разница")).ToArray();
     return(new Tuple <string[], string[]>(names, wheredata));
 }