private void Search() { int i = c; double[] res; bool b; while (true) { res = Expendator.Seq(tmin, tmax, i); b = false; for (int k = 0; k < mas.Length; k++) { if (res.Contains(mas[k])) { b = true; break; } } if (!b) { if (res.Where((double n) => n >= dtmin && n <= dtmax).Count() >= count) { label8.Text = $"Число точек: {i}; шаг: {res[1] - res[0]}"; tcount = i; return; } } i++; } }
private void SetDirects() { string p; if (File.Exists("LastDirectory.txt") && Expendator.IfDirectoryExists("LastDirectory.txt", out p)) { globalbase = p; } else { p = "Замеры"; Directory.CreateDirectory(p); globalbase = Path.Combine(Environment.CurrentDirectory, p); } textBox12.Text = globalbase; SetForlders(); SetFiles(); listBox2.Items.Clear(); for (int i = 0; i < countPorts; i++) { listBox2.Items.Add(i); } listBox2.SelectedIndex = countPorts / 2; }
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(); }
/// <summary> /// Конструктор /// </summary> public PS5000ABlockForm(double w0_, double w1_, int l_, int Scount = 8) { InitializeComponent(); w0 = w0_; w1 = w1_; wcount = l_; sourcesCount = Scount; // comboRangeA.DataSource = System.Enum.GetValues(typeof(Imports.Range)); toolStripStatusLabel1.Text = "Готов к работе"; toolStripStatusLabel2.Text = ""; timer1.Interval = 300; timer1.Tick += new EventHandler(Timer1_Tick); SetDirects(); SetParams(); InfoGet(); this.FormClosing += (object o, FormClosingEventArgs aa) => { GetParams(); Expendator.WriteStringInFile(Path.Combine(globalbase, "Описание.txt"), textBox23.Text); }; this.FormClosed += new FormClosedEventHandler((object o, FormClosedEventArgs a) => { FurierTransformer.Dispose(); }); Hides(); }
public async Task GetDataAsync() { masA = new long[CountSum]; int it = 0; int mx = CountOfEdges; for (int i = 0; i < sourcesCount; i++) { textBoxUnitInfo.AppendText(Switch_.GetAccepted() + "\n"); Switch_.SendCmd(0, i); textBoxUnitInfo.AppendText(Switch_.GetAccepted() + "\n"); await Task.Delay(2000); for (int j = 0; j < sourcesCount; j++) { if (i != j) { await GetDataMiniAsync(j, Path.Combine(ItFolder(i), ArraysNames[j])); toolStripStatusLabel2.Text = $"Выполнено {++it} из {mx} ({Expendator.GetProcent(it, mx, 2)}%)"; } } toolStripStatusLabel2.Text = ""; FurierOrShowIterationAsync(ItFolder(i), null, i); } }
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"); }
/// <summary> /// Задать параметры метрики в файл /// </summary> /// <param name="s"></param> private static void MetricSet(string s = "max", string path = null) { path = path ?? Environment.CurrentDirectory; Expendator.WriteStringInFile(Path.Combine(path, "MetrixSumOrMax.txt"), s); Expendator.WriteStringInFile("MetrixSumOrMax.txt", s); }
public void CompMult() { Complex[] mas = new Complex[] { new Complex(1, 3), new Complex(4, -1) }; var r = Expendator.Mult(mas, new Complex(2)); new CVectors(r).Show(); }
private void InteractFlags(string path) { string s1 = checkBox4.Checked ? "true" : "false"; string s2 = checkBox5.Checked ? "true" : "false"; Expendator.WriteInFile(Path.Combine(path, "FlagsForInteractive.txt"), new string[] { s1, s2 }); }
public static void ParserExamples() { var gen = Expendator.ThreadSafeRandomGen(1); Func <double, double> f1 = Parser.GetDelegate("cos(x)+sin(x/2+4,6)*exp(-sqr(x))+abs(x)^0,05"); Func <double, double> f2 = x => Math.Cos(x) + Math.Sin(x / 2 + 4.6) * Math.Exp(-x * x) + Math.Pow(Math.Abs(x), 0.05); for (int i = 0; i < 5; i++) { var d = gen.NextDouble() * 50; $"{f1(d)} == {f2(d)}".Show(); } //2,1254805141764708 == 2,1254805141764708 //1,8237614071831993 == 1,8237614071831991 //0,9607774340933849 == 0,9607774340933849 //1,8366859282256982 == 1,8366859282256982 //1,3013656833866554 == 1,3013656833866554 Func <Complex, Complex> c1 = ParserComplex.GetDelegate("Re(z)*Im(z) + sh(z)*I + sin(z)/100"); Func <Complex, Complex> c2 = z => z.Re * z.Im + Complex.Sh(z) * Complex.I + Complex.Sin(z) / 100; for (int i = 0; i < 5; i++) { var d = new Complex(gen.NextDouble() * 50, gen.NextDouble() * 10); $"{c1(d)} == {c2(d)}".Show(); } // 485696399,00749403 - 1151202339,537752i == 485696398,8506223 - 1151202339,7349265i //- 1,328008130324937E+20 + 8,291419281824573E+19i == -1,328008130324937E+20 + 8,291419281824573E+19i // - 12609203585138,465 + 42821192159972,99i == -12609203585138,78 + 42821192159972,99i //7270,488386388151 - 121362,61308893963i == 7270,344179063162 - 121362,52416901031i //- 7,964336745137357E+20 + 1,3345594600169975E+21i == -7,964336745137357E+20 + 1,3345594600169975E+21i }
private async void button1_Click(object sender, EventArgs e) { OtherMethods.IlushaMethod(checkBox4); OtherMethods.PlaySound("Поехали"); SetDir(); SetSymbols(); var tmp = GetDataPaths(); string[] names = tmp.Item1; string[] wheredata = tmp.Item2; List <string> pathellipse = new List <string>(sources.Length * (sources.Length - 1)); int alles = sources.Length * (sources.Length - 1); IProgress <int> progress = new Progress <int>((int val) => save = val); for (int i = 0; i < sources.Length; i++) { var itSource = sources[i]; var otherSources = sources.Without(itSource); var othernames = names.Without(names[i]); var snames = new string(symbols.ToCharArray().Without(symbols[i])); timer1.Start(); for (int k = 0; k < otherSources.Length; k++) { TransformArea(Path.Combine(wheredata[i], $"{snames[k]}.txt"), Path.Combine(wheredata[i], othernames[k]), globalTimeMin, timestep); GetData(); string savename = $"{snames[k]} -> {symbols[i]}"; toolStripLabel1.Text = $"Замер {symbols[i]}, источник {snames[k]}, осталось {alles--}"; var tuple = (radioButton1.Checked) ? await Functions.GetMaximunFromAreaAsync(Wnet, Tnet, progress, new System.Threading.CancellationToken(), globalTimeMin, timestep, tickCount, othernames[k], Path.Combine(dir, savename.Replace(" -> ", "to")), MyWavelet, wheredata[i], byevery, epsForWaveletValues) : await Functions.GetMaximunFromAreaAsync(wmin, wmax, tmin, tmax, globalTimeMin, timestep, tickCount, othernames[k], Path.Combine(dir, savename.Replace(" -> ", "to")), MyWavelet, wheredata[i], byevery, epsForWaveletValues, pointcount, pointmax, pointmax2); pathellipse.Add($"{otherSources[k].Center.x} {otherSources[k].Center.y} {itSource.Center.x} {itSource.Center.y} {Functions.Vg2(tuple.Item1).ToRString()} {tuple.Item2.ToRString()} {i} {savename} {tuple.Item1}"); } Expendator.WriteInFile(Path.Combine("EllipseData", "Params.txt"), pathellipse.ToArray()); SetDefaltProgressBar(); timer1.Stop(); OtherMethods.PlaySound("ЗамерОбработан"); } string where = Path.GetDirectoryName(Path.GetDirectoryName(wheredata[0])); await Expendator.DirectoryCopyAsync( Path.Combine(Environment.CurrentDirectory, "EllipseData"), Path.Combine(where, "EllipseData") ); OtherMethods.PlaySound("СоздаемЭллипсы"); MakeEllipses(pathellipse.ToArray()); SetDefaultStrip(); }
private static int GetTrack(int min, int max, int count, double val) { val = min + (max - min) * val; var arr = Expendator.Seq(min, max, count); return(Array.IndexOf(arr, Vectors.Create(arr).BinaryApproxSearch(val))); }
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)}"); } }
/// <summary> /// Читает файл описания и закидывает в нужное поле /// </summary> private void InfoGet() { string name = Path.Combine(globalbase, "Описание.txt"); if (File.Exists(name)) { textBox23.Text = Expendator.GetWordFromFile(name); } }
public void BiserchTest() { double[] a = new double[] { 1, 2, 3, 4, 5, 6, 7 }; var t = Expendator.BinarySearch(a, 3); Assert.IsTrue(t.Item1 == 2 && t.Item2 == 2); t = Expendator.BinarySearch(a, 4.5); Assert.IsTrue(t.Item1 == 3 && t.Item2 == 4); }
private async void загрузитьНеобходимыеПакетыRToolStripMenuItem_Click(object sender, EventArgs e) { const string mess = "Требуется подключение к Интернету. Будут загружены все пакеты R, необходимые программе. Загрузка может занимать несколько минут, по окончанию загрузки консоль закроется. Уже установленные пакеты могут загрузиться заново либо обновиться. Выполнить действие?"; if (MessageBox.Show(mess, "Требуется подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { SoundMethods.OK(); await Task.Run(() => Expendator.StartProcessOnly(OtherMethods.GetResource("InstallPackages.r"), true)); } }
private void FillZam() { string where = Expendator.GetWordFromFile("WhereData.txt"); where = Path.GetDirectoryName(where); textBox1.Text = where; string file = Path.Combine(where, "Описание.txt"); textBox2.Text = (File.Exists(file)) ? Expendator.GetWordFromFile(file) : ""; }
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];
private void GetParamsFromFile() { if (System.IO.File.Exists("TrapeziParams.txt")) { var ss = Expendator.GetWordFromFile("TrapeziParams.txt").Split(' '); beg = ss[0].ToInt32() / 100.0; s = ss[1].ToInt32() / 100.0; end = ss[2].ToInt32() / 100.0; } }
public void GPeriods() { double[] m1 = new double[] { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; double[] m2 = new double[] { 1, 2, 3, 4, 5, 6 }; double[] m3 = new double[] { 1, 2, 3, 1, 2, 3 }; double[] m4 = new double[] { 1, 1, 1, 1, 2, 1, 1, 1, 1, 2 }; Expendator.GetPeriod(m1).Show(); Expendator.GetPeriod(m2).Show(); Expendator.GetPeriod(m3).Show(); Expendator.GetPeriod(m4).Show(); }
/// <summary> /// Только создать 3D графики с сохранением в файлы /// </summary> /// <param name="shortname"></param> /// <param name="F"></param> /// <param name="xmin"></param> /// <param name="xmax"></param> /// <param name="ymin"></param> /// <param name="ymax"></param> /// <param name="count"></param> /// <param name="progress"></param> /// <param name="token"></param> /// <param name="graficType"></param> /// <param name="title"></param> /// <param name="xlab"></param> /// <param name="ylab"></param> /// <param name="zlab"></param> /// <param name="parallel"></param> public static async Task JustGetGraficInFilesAsync(string shortname, string savename, Func <double, double, double> F, NetOnDouble x, NetOnDouble y, IProgress <int> progress, System.Threading.CancellationToken token, StringsForGrafic forGrafic, GraficType graficType = GraficType.PdfPngHtml, bool parallel = true) { await GetDataToFileAsync(shortname, savename, F, x.Array, y.Array, progress, token, forGrafic, parallel); GraficTypeToFile(graficType); RemoveOlds(shortname); if (x.Count == y.Count) { await Task.Run(() => Expendator.StartProcessOnly("Magic3Dscript.R")); } }
static void Main(string[] args) { // WaveletCreateFromFunction(); //WaveletCreateFromArray(); //new MostSimpleGrafic(FuncMethods.GaussBell2(10, 6), new NetOnDouble(0, 20, 100)).ShowDialog(); // Create3DGrafic(); Expendator.DirectoryCopyAsync(@"C:\Users\крендель\Desktop\Code\Консоль\bin\Debug\Макс и", @"C:\Users\крендель\Desktop\OKT\Макс и").GetAwaiter().GetResult(); }
public void Vg() { var arr = Expendator.Seq(абКонсоль.wbeg, абКонсоль.wend, 300); using (StreamWriter f = new StreamWriter("Vg.txt")) { foreach (var p in arr) { f.WriteLine($"{p} {Functions.Vg(p)}"); } } }
private void CopyImages(string name) => Expendator.CopyFiles(Environment.CurrentDirectory, Path.GetDirectoryName(Expendator.GetWordFromFile("WhereData.txt")), new string[] { $"{name} .pdf", $"{name} (heatmap).png", $"{name} (heatmap_uz).png", $"{name} (ur).html", $"{name} (uz).html", $"{name} (ur).txt", $"{name} (uz).txt" }.Where(f => File.Exists(f)).ToArray());
public Point[] GetPointArray(int count) { double cost = Math.Cos(tau), sint = Math.Sin(tau); var angles = Expendator.Seq(0, 2 * Math.PI, count, false); Point[] res = new Point[count]; for (int i = 0; i < angles.Length; i++) { double sinf = Math.Sin(angles[i]), cosf = Math.Cos(angles[i]); res[i] = new Point(xM.x + a * cost * cosf - b * sint * sinf, xM.y + a * sint * cosf + b * cost * sinf); } return(res); }
private void label7_Click(object sender, EventArgs e) { var st = new string[] { "Выражение вида:", "\tВеса: 50 80 100", "\tРазы: 15 10 10", "\tСеты: 1 1 2", "означает 1 подход в 50кг на 15 раз + 1 подход в 80кг на 10 раз + 2 подхода в 100кг на 10 раз" }; FlexibleMessageBox.Show(Expendator.StringArrayToString(st), "Пример использования", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void Timer1_Tick(object Sender, EventArgs e) { if (label1String != null) { toolStripStatusLabel1.Text = label1String; } if (label2String != null) { toolStripStatusLabel2.Text = label2String; } toolStripProgressBar1.Value = (int)(Expendator.GetProcent(save, all) / 100 * toolStripProgressBar1.Maximum); this.Refresh(); }
public void TestMethod1() { var arr = new int[] { 2, 3, 4, 4, 5, 6, 4, 3, 8 }; var s = Expendator.IndexesWhichGetSum(arr, 9); int sum = 0; for (int i = 0; i < s.Length; i++) { sum += arr[s[i]]; } Assert.AreEqual(sum, 9); }
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"); }