using System using System Collections Generic using System Linq using

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Корни.Итерации
{
class Program
{
public static double F(double x)
{
return (double)(Math.Acos(x) - Math.Sqrt((1 - 0.3 * Math.Pow(x, 3))));
}
public static double phi(double x, double constant)
{
return F(x) * constant + x;
}
static void Main(string[] args)
{
double constant = 0.988; // констанут уменьшали, начиная со значения 3 до тех пор пока значение функции при полученном корне не достигло значения 0 с точностью eps = 0.001
// можем считать, что константа подобрана удачно
double e = 1e-4;
double x0 = 0;
double x1, x2, q;
x1 = phi(x0, constant);
do
{
x2 = phi(x1, constant);
q = Math.Abs(x2 - x1);
x1 = x2;
}
while (q <= e);
Console.WriteLine("Найден корень уравнения x = {0:f4} с точностью eps = 0.0001\n", x2);
Console.WriteLine("Проверка. Подставим полученный корень в уравнение\nf(x) = {0:f3}", F(x2));
Console.ReadKey();
}
}
}