Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.52 KB | None | 0 0
  1. public class EasyIter {
  2.  
  3.     public static double x; //неизвастная в уравнении
  4.     public static double xn; //предыдущее значение неизвестной
  5.     public static double E = 0.01; //условие останова
  6.     public static int i = 0; //число итераций
  7.     public static double L1 = -0.625; // лямбда для отрезка от 0 до 1
  8.     public static double L2 = 1.395; // лямбда для отрезка от -1.1 до -0.4
  9.  
  10.     public EasyIter (){ }
  11.  
  12.     public static void b(double a, double b, double L){ //здесь мы представляем функцию через арккосинус
  13.         x = (a+b)/2;//по условию задания
  14.         xn = 20; //присваиваем это просто чтобы запустить цикл далее
  15.         while ((Math.abs(x-xn) > E) & (Math.abs(EasyIter.f(x)) > E) ){
  16.             xn=x;
  17.             x = xn + L*EasyIter.f(x);
  18.             i++;
  19.             System.out.println("x[" + i + "] = " + x);
  20.         }
  21.  
  22.         System.out.println("Корень уравнения: x = " + x);
  23.         System.out.println("Количество итераций: i = " + i);
  24.         i=0; //обнуляем число итераций
  25.     }
  26.  
  27.     public static double f(double c){
  28.         return Math.sqrt(4*c+7)-3*Math.cos(c);
  29.     }
  30.  
  31.     public static void main(String[] args){
  32.         EasyIter abc = new EasyIter();
  33.         EasyIter.b(0,1, L1);
  34.         EasyIter.b(-1.1,-0.4, L2);
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement