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"); }
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)}"); } }
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)); }