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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Проинтегрировать функцию методом правых прямоугольников - C++

19.05.2014, 06:21. Просмотров 314. Ответов 0
Метки нет (Все метки)

Здравствуйте. Мне необходимо проинтегрировать одну из трех функций методом правых прямоугольников. Для этого мне необходимо построить одну из трех функций (по выбору) и указать на графике прямоугольники, которые строятся с определенным шагом. То есть должно получиться приблизительно так, как указано на рисунке.


Понимаю, все, что написано ниже, может сбить с толку. Мне нужен хотя бы алгоритм, позволяющий строить прямоугольники с определенным шагом.

Я написал программу, которые строит графики функции, выбранной пользователем. Код программы приведен ниже:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#include <locale>
const int X0=400;
const int Y0=400;
const float xmin=-10;
const float xmax=10;
int main()
{
setlocale(LC_ALL,"Russian");
float b,xmin=-10,xmax=10,h=0.001,a,x,y,c;
int l;
printf("Выберите график\n 1) y=a*x*x*x+b*x+c\n 2) y=a*cos(x+b)+c\n 3) y=a*log(fabs(x+b))+c;\n");
scanf("%d",&l);
if(l==1)
{
printf ("Введите значение a=");
scanf("%f",&a);
printf ("Введите значение b=");
scanf("%f",&b);
printf("Введите значение c=");
scanf("%f", &c);
initwindow(800,800);
line (X0,0,X0,799);
line (0,Y0,799,Y0);
 
for (x=xmin;x<=xmax;x+=h)
{
  y=a*x*x*x+b*x+c;
 
 putpixel(x+X0,-y+Y0, 3);
 
}
}
else
if(l==2)
{
   printf ("Введите значение a=");
scanf("%f",&a);
printf ("Введите значение b=");
scanf("%f",&b);
printf("Введите значение c=");
scanf("%f", &c);
initwindow(800,800);
line (X0,0,X0,799);
line (0,Y0,799,Y0);
 
for (x=xmin;x<=xmax;x+=h)
{
  y=a*cos(x+b)+c;
 
 putpixel(x+X0,-y+Y0, 4);
 
} }
else
if(l==3)
{
   printf ("Введите значение a=");
scanf("%f",&a);
printf ("Введите значение b=");
scanf("%f",&b);
printf("Введите значение c=");
scanf("%f", &c);
initwindow(800,800);
line (X0,0,X0,799);
line (0,Y0,799,Y0);
 
for (x=xmin;x<=xmax;x+=h)
{
  y=a*log(fabs(x+b))+c;
 
 putpixel(x+X0,-y+Y0, 5);
 
} }
else
{printf("Необходимо выбрать график 1, график 2 или график 3");}
getch();
return 1;
}
Формула для вычисления интеграла функции методом правых прямоугольников:
I=h*(y1+y2+...+yi),
где h - шаг построения прямоугольников на оси x,
i=1,...,n
yi - значение подынтегральной функции в каждой точке деления.
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 06:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проинтегрировать функцию методом правых прямоугольников (C++):

Вычесление интегралов методом правых прямоугольников - C++
Помагите пожалуйста решить задачку в С++(или хотябы помочь как делать), а звучит она так: Нужно вычислить приближённое значение интеграла...

Метод левых и правых прямоугольников - C++
Здравствуйте, написал функцию для левых прямоугольников для приближенного вычисления определенного интеграла. Помогите написать для правых...

Найти интеграл методами правых прямоугольников и Симпсона - C++
Составить программу вычисления определенного интеграла методами правых прямоугольников и Симпсона с помощью вызова двух различных функций и...

Интеграл в С++ Методом правых, средних и Симпсона - C++
Доброго времени суток. Надо написать программу, которая будет решать один интеграл 3 методами, можно все записать в 1 программе. С такого...

Отрезок разбить на n частей, каждую часть проинтегрировать, либо методом трапеции - C++
1)Вписать простую функцию sin^2(П/2*x) 2)на разбить на n частей каждую часть проинтегрировать либо методом трапеции; либо гаусс по 16...

Интергал методом прямоугольников - C++
Нужно вычислить интеграл от функции y=ex2+sinxcosx на интервале от 0 до 2 Программа работает, но не выдает значение, подскажите,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2014, 06:21
Привет! Вот еще темы с ответами:

Интегрирование методом левых прямоугольников - C++
Доброго времени суток, дорогие программисты. В универе дали задание, а я С++ не особо шарю, помогите пожалуйста выполнить) Задание: ...

Интегрирование методом прямоугольников и трапеций - C++
Такой вопрос, писал программу, которая вычисляет определенный интеграл методом трапеций и прямоугольников. Получил ответ, но нужно...

Интегрирование методом левых прямоугольников - C++
Задание: &quot;В прикладной программе проводится функция f(x)=cos(x), пределы интегрирования А и В. Решение провести методом левых...

Найти интеграл методом прямоугольников - C++
использовать метод прямоугольников. Для построения прямоугольника использовать середину отрезка. y= 0, y = 5x − x2 +14. никак не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru