Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2020, 17:42   #1
plktre
Пользователь
 
Регистрация: 09.09.2019
Сообщений: 43
По умолчанию Определить количество итераций, которые необходимо, чтобы найти значение функции с погрешностью 0,1; 0,001; 0,000001:

Определить количество итераций, которые необходимо, чтобы найти значение функции с погрешностью 0,1; 0,001; 0,000001:
Код:
import java.util.Scanner;
import static java.lang.System.out;
public class One {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner klava = new Scanner(System.in);
		out.println("Введите переменную x");
		double x = klava.nextDouble();
		out.println("Введите точность вычисления eps");
		double eps = klava.nextDouble();
		int i=1;
		double f=0; double fn=0;
		do
		{
			fn=(x + (Math.pow(-1, i) * ((1 * 3 * 5 * (2 * i - 1) * Math.pow(x, 2 * i + 1))/ (2 * 4 * 6 * (2 * i) * (2 * i + 1)))));
			f=f+fn;
			i++;
		} while(Math.abs(fn)>eps);
		out.println("Значение функции arcsh x =" + f );
		out.println("Количество итераций = " + i);
	}

}
Помогите найти ошибку
Изображения
Тип файла: jpg Безымянный.jpg (12.6 Кб, 19 просмотров)
plktre вне форума Ответить с цитированием
Старый 30.06.2020, 19:53   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Сейчас неверно считаются последовательности в числителе и знаменателе. Их нужно накапливать на каждой итерации.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.07.2020, 11:48   #3
plktre
Пользователь
 
Регистрация: 09.09.2019
Сообщений: 43
По умолчанию

BDA, Не могли бы вы подсказать, как написать правильно
plktre вне форума Ответить с цитированием
Старый 02.07.2020, 12:33   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
int i = 1;
double s1 = 1;
double s2 = 1;
double f = x;
double fn = 0;
double sign = -1;
do
{
    s1 *= 2 * i - 1;
    s2 *= 2 * i;
    fn = sign * (s1 * Math.pow(x, 2 * i + 1)) / (s2 * (2 * i + 1));
    f += fn;
    i += 1;
    sign = -sign;
} while (Math.abs(fn) > eps);
Примерно так. Не запускал.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу для приближенного вычисления значения функции в точке х с помощью разложения в ряд Тейлора. Найти приближенное значение функции с погрешностью менее 0,0001. marysluva Помощь студентам 1 18.12.2016 18:13
определить количество четных чисел и количество нечетных чисел массива, которые вводятся в МЕМО, вывести в поле компонента Edit. Pyxy Помощь студентам 2 21.03.2012 23:24
Как определить количество слов, которые содержат ровно три буквы JegorX Паскаль, Turbo Pascal, PascalABC.NET 1 15.11.2011 15:52
Необходимо определить количество слов, которые являются "перевертышами" Алексей_1 Паскаль, Turbo Pascal, PascalABC.NET 1 17.05.2011 17:15
Необходимо определить количество слов, которые являются "перевертышами" Алексей_1 Паскаль, Turbo Pascal, PascalABC.NET 2 08.05.2011 22:40