| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Как быть с arctan (арктангенсом) |
| Автор: Ярослав 30.5.2011, 13:45 |
| Подскажите как вычислять арктангенс,арккосинус и арксинус у меня есть, в интернете нашёл по Алгоритму Тейлора, а вот в арктангенсе там ошибка и неправильно считает private double MArctg(double x0) { int sp=0; double x,x2,y; x=x0; if(x<0) {x=-x;} if(x>1) {x=1.0/x;} //Уменьшаем интервал области аргумента while(x>0.2617993877991495) { sp++; //Вспомогательный счетчик шагов x=(x*1.732050807569-1)/(x+1.732050807569); } //Вычисляем ряд Тейлора y=x; int n=1; double sn=x; while (sn>1E-16){ sn=sn*(2+1.0/n)*0.5*x*x; y=y+sn/(2*n+1)/(2*n+1); n=n+1; } //Смещаем все на pi/6 необходимое число раз y=y+sp*0.523598775598 if(x0>1) a=0.2617993877991495-a; if(x0<0) y=-y; return y; } ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ a-??????? x2-?????? ВЕСЬ ИНТЕРНЕТ В ЭТОЙ ПРОБЛЕМЕ |
| Автор: oxigen 30.5.2011, 17:07 | ||
Что за 'a' тут вдруг появилась? Явно вместо нее 'y' должен быть. |
| Автор: Ярослав 30.5.2011, 17:42 |
| Я тоже так думаю, х2 что это???? Даже если это и у результат не правельный |
| Автор: ivanovpv 31.5.2011, 07:24 |
| Ряды Тейлора плохо подходят для аппроксимации спецфункций, они пригодны только для вычисления в малой окрестности. В реальных вычислениях обычно применяется аппроксимация полиномами Чебышева (возможны вариации и использование полиномов Якоби, Лежандра и проч. ) Погуглите - в сети исходников аппроксимации спецфункций ортогональными полиномами много. |
| Автор: vG874WbT5F 31.5.2011, 12:01 | ||
Нагуглил код:
|
| Автор: Ярослав 31.5.2011, 15:14 |
| Спасибо тема закрыта Добавлено через 1 минуту и 24 секунды Вот кому надо ответ на мой вапрос |