Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2019, 13:57   #1
Actec
Новичок
Джуниор
 
Регистрация: 19.10.2019
Сообщений: 3
По умолчанию эпсилон

Код:
#include <iostream>
#include <cmath>
using namespace std;

double fun(double x)
{
	return (log10(x) / sqrt(x + 1));
}

void TrapezeIntegral()//метод трапеций
{
	double a = 1.0, b = 5.0, h, x, S = 0, fa, fb, f,eps;
	int i, n = 1000;

	x = a;
	h = (b - a) / n;
	fa = fun(a);
	fb = fun(b);
	f = h * (fa + fb) / 2.0;
	for (i = 1; i < n; i++)
	{
		x = a + i * h;
		f += h * fun(x);
	}
	cout << "Trap Integral = " << f << endl;
}

void RectangleIntegral()//вычисление интеграла методом правых прямоугольников
{
	double a = 1.0, b = 5.0, h, x, f = 0, eps;
	int i, n = 1000;

	h = (b - a) / n;
	for (i = 1; i <= n; i++)
	{
		x = a + i * h;
		f += fun(x);
	}
	f *= h;
	cout << "\nRect Integral = " << f << endl;
}
int main()//вызов функции
{
	TrapezeIntegral();
	RectangleIntegral();
	system("pause");
	return 0;
}
Помогите внести в код эпсилон(точность)
Actec вне форума Ответить с цитированием
Старый 09.11.2019, 14:04   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Actec Посмотреть сообщение
Помогите внести в код эпсилон(точность)
Ну, бери за правый край, а я за левый, и понесли!
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.11.2019, 18:54   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Дык это же просто, как веник:
Код:
	for (i = 1; i <= n; i++)
	{
		x = a + i * h;
                y = fun(x) ;
		f += y;
                if abs(y) < eps break ;
	}
Ну если это с for, а так while напрашивается.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] Найти сумму ряда с точностью эпсилон VLADOSW2001 Помощь студентам 4 16.09.2019 08:54
Эпсилон - это не то, что о нем думают type_Oleg Свободное общение 18 21.11.2013 02:49
Вычислить с точностью e (эпсилон) Raphael Помощь студентам 0 12.11.2010 17:14
Вычислить с заданной точностью Е(эпсилон) сумму ряда Wika17 Помощь студентам 0 27.10.2010 08:10
Машинное эпсилон Лёва_В Свободное общение 8 03.11.2009 13:37