ряды тейлора
Автор May Bag задал вопрос в разделе Другие языки и технологии
Ряды Тейлора C# и получил лучший ответ
Ответ от Алекс Куха[гуру]
Самому разве сложно понять правильно, аль нет. Если б выдал текст в пастбин, можно было проверить. а так, на глаз проблематично. Мне вот кажется (!), что конец цикла определён некорректно. Точность определяется как разность двух соседних итераций, а здесь непонятная сумма. Ещё засада в интервале. Оно зачем, ведь не используется? Ряд Тейлора рассчитывает экспоненту в одной точке икс, а игрек значение экспоненты. Если надо несколько значений, то где ещё один цикл. Они же тут соединены. Каждая следующая итерация использует приращённый икс. Печалька. "к" в таблице вроде как соответствует финальному числу итераций, а не текущему её значению.
Ну и необязательное: факториал, похоже, рассчитывается каждый раз с единицы, когда логичнее его получить просто умножением предыдущего значения.
Фу, легче написать правильно, чем объяснять, почему не так
Вот почему если люди знают, что есть такой-то модуль и в нём такая-то функция, то обязательно будут ломиться туда…
При этом ни когда не задумаются, что формулу можно посчитать гораздо проще!
Я не Сишник, но вполне могу переписать всё без использования модуля math:
res = 1;
n := 1;
znak = +1;
slog = 1;
while (slog > e)
{
n++;
znak = -znak;
slog = slog * x / n;
res += znak * slog;
}