Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Проверьте пожалуйста правильный ли следующий код: вычисление exp(x) и exp(-x) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оставить в слове первые вхождения каждой буквы http://www.cyberforum.ru/cpp-beginners/thread628070.html
Доброго время суток. Задача на языке C++. Дана последовательность слов. Напечатать все слова, предварительно преобразовав каждое из них по следующему правилу: оставить в слове первые вхождения...
C++ Разложение sin(x) в ряд Тейлора Всем доброго время суток! Проверьте пожалуйста правильный ли следующий код : #include <cmath> #include <iostream> #include <cstdlib> using namespace std; double my_abs(double val) { ... http://www.cyberforum.ru/cpp-beginners/thread628046.html
Коварный map C++
Доброго всем дня, уважаемые форумчане! Прошу прояснить следующий момент, почему при проходе по мапе теряется пара с ключом "4". Если флаг TExpiredNumberHandler стоит в true (на название класса прошу...
C++ Ошибка линкера
Здравствуйте!!! Подскажите пожалуйста почему возникают ошибки линкера? // main.cpp #include "parser.h" int main() { char prog_buff;
C++ Как правильно организовать большой проект? http://www.cyberforum.ru/cpp-beginners/thread627923.html
В будущем хочу участвовать в разработке игр - начал изучать С++, вопрос тут такой, как правильно организовать структуру достаточно большого проекта? в учебниках, с примерами в 1-2 файла все просто,...
C++ resize вектора векторов Необходимо удалить n элементов с конца вектора. В vector::erase необходимо передавать итератор. Т.к. итератора у меня нет, а есть конкретная цифра сколько нужно удалить, вродебы подходит функция... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2012, 09:26
Смотри 1-ца это x^0/0!, затем идёт x^1/1, т.е a[n] = x^1/1 = x при этом само n = 1 вот и начало цикла
C++
1
2
3
4
5
for(n = 1;e <= my_abs(an);n++)
{
        an *= x/(1.0*(n + 1));
        sum += an;
}
При этом если начинать с нуля n=0: a[n] = x^0/0! = 1 то мое сравнение my_abs(an) всегда отработает и мы попадём в цикл и делаем в нём по крайней мере 1-ну итерацию(т.е всё равно попадаем на a[1]). Получается суть такая - мы всегда при точности на порядок ниже единицы просчитаем два первых слагаемых {x^0/0! = 1} + {x^1/1! = x} поэтому я сразу сумму такой и сделал
C++
1
double sum = 1 + x;
Добавлено через 9 минут
На счёт следующего или предыдущего слагаемого да не вопрос смотри
Введём обозначение m = n + 1 тогда
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{m} = \frac{{x}^{m}}{m!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{m - 1} = \frac{{x}^{m - 1}}{(m - 1)!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{m}}{{a}_{m - 1}} = \frac{\frac{{x}^{m}}{m!}}{\frac{{x}^{m - 1}}{(m - 1)!}}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{m}}{{a}_{m - 1}} = x*\frac{(m - 1)!}{m!} = \frac{x}{m}
Подставляя в последнюю формулу m = n + 1 в итоге получим
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n + 1}}{{a}_{n}} =  \frac{x}{n + 1}
Данную формулу мы получили вверху.
От себя добавлю для однозначности лучше всегда рассматривать n и n + 1 члены
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru