private void TransformWariety(string ABCfile) { double w = 0, max = 0, tmp; using (StreamReader r = new StreamReader(ABCfile)) { string s = r.ReadLine(); string[] st; while (true) { s = r.ReadLine(); if (s == null) { break; } st = s.Replace('.', ',').Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); tmp = new Number.Complex(Convert.ToDouble(st[1]), Convert.ToDouble(st[2])).Abs; if (tmp > max) { max = tmp; w = Convert.ToDouble(st[0]); } } } w /= 1000; textBox1.Text = (w - 5).ToString(); textBox2.Text = (w + 5).ToString(); }
private async void button1_Click(object sender, EventArgs e) { this.Hide(); Circle fiCirc = Forms.UG.sourceIt.GetCircle; double w = textBox4.Text.ToDouble(); double x0 = textBox5.Text.ToDouble(), X = textBox6.Text.ToDouble(), y0 = textBox7.Text.ToDouble(), Y = textBox8.Text.ToDouble(); int xc = Convert.ToInt32(numericUpDown1.Value); int yc = Convert.ToInt32(numericUpDown2.Value); string tit = $"{Forms.UG.sourceIt.ToShortString()}, {((radioButton1.Checked) ? "ω" : "t")} = {w}, (xmin, xmax, xcount, ymin, ymax, ycount) = ({x0}, {X}, {xc}, {y0}, {Y}, {yc})"; tit.Show(); all = yc * xc; Normal2D[] norms = Forms.UG.sourceIt.Norms; Func <МатКлассы.Point, bool> filter = Forms.UG.sourceIt.Filter; timer1.Start(); IProgress <int> progress = new Progress <int>((p) => { save = p; }); Forms.UG.toolStripStatusLabel1.Text = "Вычисления запущены"; time = DateTime.Now; Forms.UG.ShowCancelControls(); Forms.UG.source = new System.Threading.CancellationTokenSource(); System.Threading.CancellationToken token = Forms.UG.source.Token; if (radioButton1.Checked) { await Task.Run(() => { МатКлассы.Waves.Circle.FieldToFileParallel("3D ur, uz.txt", (double x, double y) => uxwMemoized(x, y, w, Forms.UG.sourceIt), x0, X, xc, y0, Y, yc, progress, token, filter, tit ); }); } else { await Task.Run(() => { МатКлассы.Waves.Circle.FieldToFileOLD("3D ur, uz.txt", "", (double x, double y) => { var t = Forms.UG.u(x, y, w, norms); double cor = new Number.Complex(x - fiCirc.center.x, y - fiCirc.center.y).Arg; return(t[0] * Math.Cos(cor) + t[1] * Math.Sin(cor), t[2]); }, x0, X, xc, y0, Y, yc, progress, token, filter, tit, false ); });
private void othergraph(string func, ComplexFunc f, double beg, int k, double hh) { prbar = new int[k]; chart1.Series.Add($"Re {func}"); chart1.Series[0].Color = Color.Red; chart1.Series.Add($"Im {func}"); chart1.Series[1].Color = Color.Green; chart1.Series.Add($"Abs {func}"); chart1.Series[2].Color = Color.Blue; for (int i = 0; i < 3; i++) { chart1.Series[i].BorderWidth = 3; chart1.Series[i].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart1.Series[i].MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle; chart1.Series[i].ToolTip = "X = #VALX, Y = #VALY"; } for (int i = 0; i < k; i++) { double arg = beg + i * hh; Number.Complex val = f(arg); //val.Show(); chart1.Series[0].Points.AddXY(arg, val.Re); chart1.Series[1].Points.AddXY(arg, val.Im); chart1.Series[2].Points.AddXY(arg, val.Abs); prbar[i] = 1; } chart1.Titles[0].Text = $"График {func}(ω)"; }
private void button1_Click(object sender, EventArgs e) { абКонсоль.GRFORM.Init(); //РабКонсоль.GRFORM.chart1.Series[0].Points.Clear(); РабКонсоль.GRFORM.chart1.Series[1].Points.Clear(); count = Convert.ToInt32(numericUpDown1.Value); x = Convert.ToDouble(textBox1.Text); z = Convert.ToDouble(textBox2.Text); string s1 = "", s2 = ""; if (radioButton1.Checked) { a = new Number.Complex(0); b = new Number.Complex(абКонсоль.t1); s1 = $" на отрезке [0,t1={b}]"; } if (radioButton2.Checked) { a = new Number.Complex(абКонсоль.t1, 0); b = new Number.Complex(абКонсоль.t1, -абКонсоль.tm); s1 = $" на отрезке [t1={a},t1-itm={b}]"; } if (radioButton3.Checked) { a = new Number.Complex(абКонсоль.t1, -абКонсоль.tm); b = new Number.Complex(абКонсоль.t4, -абКонсоль.tm); s1 = $" на отрезке [t1-itm={a},t4-itm={b}]"; } if (radioButton4.Checked) { a = new Number.Complex(абКонсоль.t4, -абКонсоль.tm); b = new Number.Complex(абКонсоль.t4); s1 = $" на отрезке [t4-itm={a},t4={b}]"; } if (radioButton5.Checked) { a = new Number.Complex(абКонсоль.t4); b = new Number.Complex(абКонсоль.gr); s1 = $" на отрезке [t4={a},gr={b}]"; } h = (b - a) / (count - 1); h1 = (b - a).Abs / (count - 1); if (radioButton6.Checked) { f = (Number.Complex ee) => абКонсоль.K1(ee, z) * абКонсоль.Q(ee) * Number.Complex.Ch(Number.Complex.I * x * ee); s2 = $"K1(α,{z})Q(α)Ch(iα*{x})"; } if (radioButton7.Checked) { f = (Number.Complex ee) => абКонсоль.K2(ee, z) * абКонсоль.Q(ee) * Number.Complex.Ch(Number.Complex.I * x * ee); s2 = $"K2(α,{z})Q(α)Ch(iα*{x})"; } if (radioButton8.Checked) { f = (Number.Complex ee) => абКонсоль.K1_(ee, z) * абКонсоль.Q(ee) * Number.Complex.Ch(Number.Complex.I * x * ee); s2 = $"K1'(α,{z})Q(α)Ch(iα*{x})"; } if (radioButton9.Checked) { f = (Number.Complex ee) => абКонсоль.K2_(ee, z) * абКонсоль.Q(ee) * Number.Complex.Ch(Number.Complex.I * x * ee); s2 = $"K2'(α,{z})Q(α)Ch(iα*{x})"; } if (radioButton10.Checked) { f = (Number.Complex ee) => абКонсоль.sigma1(ee); s2 = $"σ1(α)"; } if (radioButton11.Checked) { f = (Number.Complex ee) => абКонсоль.sigma1(ee).Sqr(); s2 = $"σ1(α)^2"; } абКонсоль.GRFORM.chart1.Series[0].Name = "Re " + s2 + s1; абКонсоль.GRFORM.chart1.Series[1].Name = "Im " + s2 + s1; for (int i = 0; i < count; i++) { double arg = i * h1; Number.Complex arg1 = a + i * h; Number.Complex fx = f(arg1); $"f(при {arg}) = {fx}".Show(); абКонсоль.GRFORM.chart1.Series[0].Points.AddXY(arg, fx.Re); абКонсоль.GRFORM.chart1.Series[1].Points.AddXY(arg, fx.Im); } ForChart.SetAxisesY(ref абКонсоль.GRFORM.chart1); абКонсоль.GRFORM.Refresh(); }