Решение системы уравнений методом простой итерации - C#
Формулировка задачи:
Добрый вечер! Помогите пожалуйста написать код к следующей задаче:
Решить систему уравнений
с точностью E=10^-4 методом простой интерации. Заранее благодарен за помощь.
Решение задачи: «Решение системы уравнений методом простой итерации»
textual
Листинг программы
class Program { delegate double[] Func(double[] x); static double Measure(double[] x, double[] y) { double s = 0; for (int i = 0; i < x.Length; i++) s += (x[i] - y[i]) * (x[i] - y[i]); return Math.Sqrt(s); } static double[] Base(double[] x) { return new double[] { 4.15 * x[0] - 3.20 * x[1] + 1.11 * x[2] + 5.40 * x[3] - 7.1, 0.87 * x[0] - 2.14 * x[1] - 2.14 * x[2] - 3.21 * x[3] - 3.06, 3.12 * x[0] - 1.00 * x[1] + 2.13 * x[2] + 0.00 * x[3] + 0.92, 2.11 * x[0] + 3.26 * x[1] + 2.17 * x[2] - 8.14 * x[3] + 7.5 }; } static double[] Next(double[] x, double[] l, Func f) { double[] t = f(x); for (int i = 0; i < x.Length; i++) t[i] = x[i] - t[i] * l[i]; return t; } static void Main(string[] args) { // Начальное приближение double[] x = { 0, 0, 0, 0 }, y = { 1, 1, 1, 1 }; // коэффициент double[] l = { 0.01, -0.32, 0.3, -0.16 }; // метод Ньютона l = 1/f'(x0) // точность double e = 1e-4; while (Measure(x, y) > e) { x = Next(y = x, l, Base); } for (int i = 0; i < x.Length; i++ ) { Console.WriteLine("x[{0}] = {1}", i, x[i]); } Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д