Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class NewTone {
- public static double x; //неизвастная в уравнении
- public static double xn = 10; //предыдущее значение неизвестной, 10ка для остановки в случае ошибки
- public static double E = 0.01; //условие останова
- public static int i = 0; //число итераций
- public NewTone(double a, double b){
- if(NewTone.f0(a)*NewTone.f2(a)>0){
- x=a;
- }
- else{
- if(NewTone.f0(b)*NewTone.f2(b)>0){
- x=b;
- }
- else{
- System.out.println("Ниодно из условий не соблюдается");
- x=0;xn=0;
- }
- }
- while ((Math.abs(x-xn) > E) & (Math.abs(NewTone.f0(x)) > E) ) {
- xn=x;
- x=x-(NewTone.f0(x)/NewTone.f1(x));
- i++;
- }
- System.out.println("Корень уравнения: x = " + x);
- System.out.println("Количество итераций: i = " + i);
- i=0; //обнуляем число итераций
- }
- public static double f0(double c){
- return Math.sqrt(4*c+7)-3*Math.cos(c); //искомая функция
- }
- public static double f1(double c){
- return 2/Math.sqrt(4*c+7)+3*Math.sin(c); //первая производная
- }
- public static double f2(double c){
- return 3 * Math.cos(c) - (4 / Math.pow(4 * c + 7, 1.5)); //вторая производная
- }
- public static void main(String[] args){
- NewTone L = new NewTone(-1.1,-0.4);
- NewTone B = new NewTone(0,1.2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement