Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace ConsoleApp6
- {
- class Program
- {
- static double foo(double x)
- {
- return x * x - 2 * x - 2 * Math.Cos(x);
- }
- static void Main(string[] args)
- {
- double masheps = 1;
- while (1 + masheps > 1)
- masheps = masheps / 2;
- masheps = Math.Sqrt(masheps);
- double a = -0.5;
- double b = 1;
- double L = b - a;
- // Шаг 2
- double x0 = (foo(a) - foo(b) + L * (a + b)) / (2 * L);
- double y0 = (foo(a) + foo(b) + L * (a - b)) / 2;
- double phiMin = y0;
- // Шаг 3
- var i = 0;
- double x1L = 0;
- double x1R = 0;
- double phi = 0;
- double delta = (foo(x0) - phiMin) / (2 * L);
- do
- { // Шаг 4
- if ((2 * L * delta) < masheps)
- {
- Console.WriteLine(x0);
- Console.WriteLine(foo(x0));
- Console.WriteLine($"{i} - i");
- }
- else
- {
- //шаг 5
- x1L = x0 - delta;
- x1R = x0 + delta;
- phi = (foo(x0) + phiMin) / 2;
- //шаг 6
- if (foo(x1L) < foo(x1R))
- {
- x0 = x1L;
- }
- else
- {
- x0 = x1R;
- }
- phiMin = phi;
- i++;
- }
- } while (i<28);
- Console.WriteLine($"{i} - i");
- Console.WriteLine(x0);
- Console.WriteLine(foo(x0));
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement