Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Java] Ряд Тейлора


Автор: tux32 12.2.2008, 06:30
Помогите пожалуйста переделать алгоритм для подсчета суммы ряда Тейлора функции ln(1+3*x) без использования функций возведения в степень. Одним циклом, если сие возможно. Спасибо. 
Код

import java.util.*;
import java.lang.Math.*;
class teilor {
    public static void main(String args[]){
    
    double x=0.001; 
    double sum=0; 
    double a,b,c;  
    for(int n=0;n<100;n++)
    {    
         a=Math.pow(-1,n);
         b=n+1;
         c=Math.pow(3*x,b);
         sum+=a/b*c;
    }
    
    System.out.println("ln(1+3x) = "+sum);
    System.out.println("Проверка = "+Math.log(1+3*x));
    }
}

Автор: chnry 12.2.2008, 22:44
Одним циклом конечно сделать можно но точность вычисления будет невысокая. Смысл разложения в ряд Тейлора заключается в том что чем больше циклов - тем точнее решение.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)