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 = a + b;
- //=================================================================
- // Шаг 2
- double x0 = 1.0 / (2.0 * L) * (foo(a) - foo(b) + L*(a+b));
- double y0 = 0.5 * (foo(a) + foo(b) +L* (a - b)) ;
- double phiMin = y0;
- // Шаг 3
- var i = 0;
- do
- {
- double delta = 1.0 / (2.0 * L) * (foo(x0) - phiMin);
- // Шаг 4
- if (2 * L * delta < masheps)
- {
- // Console.WriteLine(delta);
- Console.WriteLine(x0);
- Console.WriteLine(foo(x0));
- Console.ReadLine();
- }
- else
- {
- //шаг 5
- double x1L = x0 - delta;
- double x1R = x0 + delta;
- double phi = 1.0 / 2.0 * (foo(x0) + phiMin);
- //шаг 6
- if (foo(x1L) < foo(x1R))
- {
- x0 = x1L;
- }
- else
- {
- x0 = x1R;
- }
- phiMin = phi;
- i++;
- }
- } while (i<35);
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement