Создание программы для решения нелинейных уравнений

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

);= Convert.ToSingle(textBox2.Text);= Convert.ToSingle(textBox6.Text);= Convert.ToInt32(xn / h);= new float[n*n*n];first = 0, last = 0;k = 0;(double i = x0; i < xn; i += h)

{++;val = fx((float)i);(k == 1) first = val;(k == n) last = val;(Convert.ToString(i).Length == 1)

{.Text += i + ": \t" + val + Environment.NewLine;;

3)(Convert.ToString(val).Length>6).Text+=Convert.ToString(i).Substring(0,3)+":\t"+Convert.ToString(val).Substring(0,6)+Environment.NewLine;.Text+=Convert.ToString(i).Substring(0,3)+":\t"+val+Environment.NewLine;.Text+=i+":"+val+Environment.NewLine;">}(Convert.ToString(i).Length > 3)(Convert.ToString(val).Length > 6).Text += Convert.ToString(i).Substring(0, 3) + ":\t" + Convert.ToString(val).Substring(0, 6) + Environment.NewLine;.Text += Convert.ToString(i).Substring(0, 3) + ":\t" + val + Environment.NewLine;.Text += i + ": " + val + Environment.NewLine;

eps)">}[0] = (float)last;[1] = (float)first;.Text += "Находим x0: " + x[0] + Environment.NewLine;.Text += "Находим x1: " + x[1] + Environment.NewLine;j = 1;(Math.Abs(fx(x[j])) > eps)

{[j + 1] = x[j] - (float)(fx(x[j]) * (x[j] - x[j - 1])) / (float)(fx(x[j]) - fx(x[j - 1]));.Text += "Находим x" + (j + 1) + ": " + x[j + 1] + Environment.NewLine;++;

}

}void button3_Click(object sender, EventArgs e)

{.Clear();.Clear();x0, xn, h;n = 0;[] x;[] t = textBox5.Text.Split(" ,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);(int i = 0; i < a.Length; i++)[i] = Convert.ToSingle(t[i]);eps = Convert.ToSingle(textBox7.Text);= Convert.ToSingle(textBox1.Text);= Convert.ToSingle(textBox2.Text);= Convert.ToSingle(textBox6.Text);= Convert.ToInt32(xn / h);= new float[n*n*n];

//табулированиеfirst = 0, last = 0;k = 0;(double i = x0; i < xn; i += h)

{++;val = fx((float)i);(k == 1) first = val;(k == n) last = val;(Convert.ToString(i).Length == 1)

{.Text += i + ": \t" + val + Environment.NewLine;;

3)(Convert.ToString(val).Length>6).Text+=Convert.ToString(i).Substring(0,3)+":\t"+Convert.ToString(val).Substring(0,6)+Environment.NewLine;.Text+=Convert.ToString(i).Substring(0,3)+":\t"+val+Environment.NewLine;.Text+=i+":"+val+Environment.NewLine;">}(Convert.ToString(i).Length > 3)(Convert.ToString(val).Length > 6).Text += Convert.ToString(i).Substring(0, 3) + ":\t" + Convert.ToString(val).Substring(0, 6) + Environment.NewLine;.Text += Convert.ToString(i).Substring(0, 3) + ":\t" + val + Environment.NewLine;.Text += i + ": " + val + Environment.NewLine;

eps||j eps || j < 2)

{= x2;= (x1 + x0) / 2;(fx(x2) > 0)

{= (x1 + x0) / 2; ;

}

{= (x1 + x0) / 2; ;

=9).Text+="x"+(j+1)+":"+Convert.ToString(x2).Substring(0,9)+Environment.NewLine;.Text+="x"+(j+1)+":"+x2+Environment.NewLine;++;(j>150);">}(Convert.ToString(x2).Length >= 9).Text += "Находим x" + (j + 1) + ": " + Convert.ToString(x2).Substring(0, 9) + Environment.NewLine;.Text += "Находим x" + (j + 1) + ": " + x2 + Environment.NewLine;++;(j > 150);

}

}void button4_Click(object sender, EventArgs e)

{.Clear();.Clear();x0, xn, h;n = 0;[] x;[] t = textBox5.Text.Split(" ,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);(int i = 0; i < a.Length; i++)[i] = Convert.ToSingle(t[i]);eps = Convert.ToSingle(textBox7.Text);= Convert.ToSingle(textBox1.Text);= Convert.ToSingle(textBox2.Text);= Convert.ToSingle(textBox6.Text);= Convert.ToInt32(xn / h);= new float[n*n*n*n];first = 0, last = 0;k = 0;(double i = x0; i < xn; i += h)

{++;val = fx((float)i);(k == 1) first = val;(k == n) last = val;(Convert.ToString(i).Length == 1)

{.Text += i + ": \t" + val + Environment.NewLine;;

3)(Convert.ToString(val).Length>6).Text+=Convert.ToString(i).Substring(0,3)+":\t"+Convert.ToString(val).Substring(0,6)+Environment.NewLine;.Text+=Convert.ToString(i).Substring(0,3)+":\t"+val+Environment.NewLine;.Text+=i+":"+val+Environment.NewLine;">}(Convert.ToString(i).Length > 3)(Convert.ToString(val).Length > 6).Text += Convert.ToString(i).Substring(0, 3) + ":\t" + Convert.ToString(val).Substring(0, 6) + Environment.NewLine;.Text += Convert.ToString(i).Substring(0, 3) + ":\t" + val + Environment.NewLine;.Text += i + ": " + val + Environment.NewLine;

eps)">}[0] = /* 0.5f;*/ Convert.ToSingle((last + first) / 2.0);.Text += "Находим x0: " + x[0] + Environment.NewLine;proizv = fxS(x[0]);x1 = 0;i1 = 0;(Math.Abs(x1 - x[i1]) > eps)

n*n*n);">{= x[i1];[i1 + 1] = x[i1] - (float)(fx(x[i1]) / proizv);.Text += "Находим x" + (i1 + 1) + ": " + x[i1 + 1] + Environment.NewLine;++;(i1 > n*n*n);

}

}

 

Вывод

 

В данной работе были изучены методы решения нелинейных уравнений, такие как: метод Ньютона, модифицированный метод Ньютона, метод Хорд, метод простых Итераций. Была создана программа для автоматизации данного процесса на примере уравнения с учетом указанных погрешностей и возможностью ввода данных пользователем. Получены навыки работы с нелинейными уравнениями.