Я должен рассчитать sin (x) с рядом Тейлора, пока выход не будет иметь 6 знаков после запятой. Аргумент - это угол. Я не выполнял проверку десятичных знаков, я просто печатаю следующие значения (чтобы проверить, работает ли он), но после 10-20 итераций он показывает бесконечности/NaN.Серия Тейлора - вычисление sin (x) до точности 6 цифр
Что не так в моих мыслях?
public static void sin(double x){
double sin = 0;
int n=1;
while(1<2){
sin += (Math.pow(-1,n)/factorial(2*n+1)) * Math.pow(x, 2*n+1);
n++;
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
}
// CHECKING THE PRECISION HERE LATER
System.out.println(sin);
}
}
Уравнение:
почему вы хотите это сделать? Может ли код быть численным приближением? Тогда ваш probaly проверяет ваши десятичные знаки, как вы заявили. – AlexWien
В этом проблема. Задача: Реализовать метод sin (x), который вычисляет sin (x) с серией Тейлора с точностью до 6 цифр. << Вот и все, что у меня есть. Серия бесконечна, я думаю, что это «6 цифр» - это условие конца цикла. – Qbix
И делает работа над кодом ?, вывести результат, входное значение и выход для каждой итерации. Является ли значение неправильным после первых 9 итераций? Может быть, 10 итераций много, и не писать формулы в одной строке, вы не можете их отлаживать, используйте переменную для каждого термина: например, double divisor = factorial (2 * n +1); Далее некоторые математические концепции не работают хорошо в компьютерных программах. Таким образом, вы, вероятно, получили некоторую информацию о том, как эта численность должна быть решена. – AlexWien