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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать одномерный массив по арифметическим выражениям http://www.cyberforum.ru/cpp-beginners/thread1180440.html
Помогите пожалуйста решить и распишите каждую строчку т.е что тут произошло -Сформировать одномерный массив А из 20 целых чисел, которые вычисляются по закону А=A*2, a A=1
C++ Найти разделяющий индекс 4. int partition(int first, int last, string appNames, float appPrices); Splits string array appNames and appPrices around a pivot index p (the pivot). At the end of the partition, prices in appPrices below index p are less than or equal to prices above index p. The function returns the pivot p. Strings in array appNames must stay in synch with prices in the array appPrices at all times, i.e.,... http://www.cyberforum.ru/cpp-beginners/thread1180436.html
Определить попадание произвольной точки в заштрихованную область C++
Помогите пожалуйста написать программу. Задание:"Определить попадание произвольной точки в заштрихованную область"Язык С++. Заранее огромное спасибо!!!)))
C++ Чтение уравнения из файла
Здравствуйте уважаемые форумчане! Мне необходима ваша помощь. Я считываю матрицу из файла: n = stroki(); m = stolbci(); a = new double ; b = new double *; for( int i = 0; i < n ; i++) b = new double ;
C++ Удаление строки из файла http://www.cyberforum.ru/cpp-beginners/thread1180341.html
Кто может подсказать рабочую функцию удаление строки из файла. Поиск строки не нужен, только удаление :)
C++ Множественное определение переменной Доброго времени суток. Просидев n-ое кол-во часов, доделал считай проект и тут вылезли ошибки о multiple definition. Ругается на переменные, определённые в .h файле, в хэдере само собой присутствует конструкция #ifndef #define #endif. Поэтому не понятно почему ругается компилятор, ведь в случае повторного включения, переменные не будут созданы снова. Сделав переменные константами всё... подробнее

Показать сообщение отдельно
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
19.05.2014, 06:21     Проинтегрировать функцию методом правых прямоугольников
Здравствуйте. Мне необходимо проинтегрировать одну из трех функций методом правых прямоугольников. Для этого мне необходимо построить одну из трех функций (по выбору) и указать на графике прямоугольники, которые строятся с определенным шагом. То есть должно получиться приблизительно так, как указано на рисунке.


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

Я написал программу, которые строит графики функции, выбранной пользователем. Код программы приведен ниже:
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 - значение подынтегральной функции в каждой точке деления.
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru