Хочу написать разложение в степенной ряд функцию ln(x+1)
по известной всем формуле (можно посмотреть на сайте http://edu.sernam.ru/book_p_math2.php?id=81). Либо я не понимаю смысл разложения, либо что-то делаю не так, но итоговый ответ не удовлетворяет. Программа, по сути, простая.
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
setlocale(0, "");
double x, val, sum = 0;
int i;
cin >> x;
for (i = 1; i <= 100; i++)
{
val = (pow(-1, (i + 1))*pow(x, i)) / i;
cout << " " << val;
sum += val;
cout << " " << sum << endl;
}
cout << "Логарифм мой: " << sum << endl;
cout << "Логарифм реальный: " << log(x+1);
cout << endl;
system("pause");
return 0;
}
Видимо, вы забываете, что этот ряд сходится только для |x|<1
.
У вас считает правильно, но несколько неоптимально, так что я переписал заново.
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double x;
cout << "Input x (-1,1): ";
cin >> x;
if (fabs(x) >= 1.0)
{
cerr << "Wrong value\n";
return 1;
}
double sum = x, term = x;
double eps = 1e-8;
for(int k = 2; fabs(term)/sum >= eps ; ++k)
{
sum += term *= -x*(k-1)/k;
}
cout << "Sum is " << setprecision(10) << sum << endl;
cout << "Log(1+x) is " << setprecision(10) << log(1+x) << endl;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть программа на с++ с графическим интерфейсом написанная на Visual Studio 2012Скриншот прикрепил (mal
Данное предложение объявляет два указателя или указатель и объект? Верно ли это для любого типа переменных?
Можно ли каким-либо образом посмотреть логи входа в phpmyadmin (логин, время)? Или самому реализовать логирование? Phpmyadmin находится на VPS (CentOS)
Используется - Access - 2016 - MySql 55 x 64 - Odbc - mysql-connector-odbc-5