Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void button5_Click(object sender, EventArgs e)
- {
- ClearForm(); // išvalomi programos duomenys
- PreparareForm(-8, 8, -300, 300);
- x1 = -33.5; // izoliacijos intervalo pradžia
- x2 = 6.7; // izoliacijos intervalo galas
- Fx = chart1.Series.Add("F(x)");
- Fx.ChartType = SeriesChartType.Line;
- double l = -10;
- for (int i = 0; i < 100000; i++)
- {
- Fx.Points.AddXY(l, F(l)); l = l + (2 * Math.PI) / 50;
- }
- Fx.BorderWidth = 3;
- X1X2 = chart1.Series.Add("Rėžiai");
- X1X2.MarkerStyle = MarkerStyle.Circle;
- X1X2.MarkerSize = 8;
- X1X2.ChartType = SeriesChartType.Point;
- X1X2.ChartType = SeriesChartType.Line;
- XMid = chart1.Series.Add("Tiksliausias taškas");
- XMid.MarkerStyle = MarkerStyle.Circle;
- X1X2.ChartType = SeriesChartType.Point;
- X1X2.ChartType = SeriesChartType.Line;
- XMid.MarkerSize = 8;
- timer3.Enabled = true;
- timer3.Interval = 500; // timer3 intervalas milisekundemis
- timer3.Start();
- }
- private void timer3_Tick(object sender, EventArgs e)
- {
- X1X2.Points.Clear();
- float dx = (float)(0.5);
- if ((x1 + dx) < x2)
- {
- X1X2.Points.AddXY(x1, 0);
- X1X2.Points.AddXY(x1 + dx, 0);
- if (Math.Sign(F(x1)) != Math.Sign(F(x1 + dx)))
- {
- richTextBox1.AppendText("\n----------------------------------------------------------------");
- richTextBox1.AppendText(String.Format("\nFunkcijos g(x) Intervalas kur yra šaknis : [{0}; {1}] ", x1, x1 + dx));
- //paprastos iteracijos
- //Alfa radimas
- float alpha = 0;
- alpha = (float)(DF(x1) * (-1.5));
- int i1 = 0;
- while (Math.Abs(F(x1)) > 0.001 && i1 < 1000)
- {
- X1X2.Points.Clear();
- X1X2.Points.AddXY(x1, 0);
- i1++;
- x1 = (float)(x1 + (1.0 / alpha) * F(x1));
- }
- XMid.Points.AddXY(x1, 0);
- X1X2.Points.Clear();
- richTextBox1.AppendText(String.Format("\n Paprastos iteracijos metodas : [{0}] - iteracija {1}", x1, i1+1));
- richTextBox1.AppendText(String.Format("\n F({0}) = {1}", x1, F(x1)));
- richTextBox1.AppendText("\n----------------------------------------------------------------");
- }
- x1 = x1 + dx;
- richTextBox1.AppendText(String.Format("\n Ieškomas intervalas: [{0}; {1}] ", x1, x1 + dx));
- return;
- }
- timer3.Stop();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement