3 / 3 / 0
Регистрация: 18.10.2013
Сообщений: 107

Разработать программу для вычисления определенного интеграла методом средних прямоугольников. Проверка курсовой

17.01.2014, 22:06. Показов 4667. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Будьте добры , проверьте правильно ли считает данная программа.И можно ли её доработать?
Задание:
Кликните здесь для просмотра всего текста
Разработать программу для вычисления определенного
интеграла методом средних прямоугольников для функции
типа: y=a ∙ cos (b ∙ x )+ x^c . Коэффициенты a, b, c и границы
интервала интегрирования считываются с экрана.

Решение:
Кликните здесь для просмотра всего текста
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
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
//---------------------------------------------------------------------------
//Подынтегральная функция
double func(double,double,double,double);
 
//---------------------------------------------------------------------------
// Метод средних прямоугольников
double Int(double,double,double);
 
//---------------------------------------------------------------------------
// Проверка количество точек разбиения отрезка интегрирования (n) 
int test(int n);
 
void main()
{
setlocale(LC_ALL,"Russian" );
 
double x1,x2,a,b,c;
unsigned long int n;
cout<<"Задание:"<<endl<<"Разработать программу для вычисления определенного интеграла"<<endl<<"методом средних прямоугольников для функции типа:"<<endl<<"y=a*cos(b*x)*x^c"<<endl<<"Коэффициенты a, b, c и границы интервала интегрирования считываются с экрана."<<endl;
 
cout<<"-----------------------------------------------------------------------------"<<endl;
cout<<"\nОпределите границы интервала:"<<endl<<"\nx1:\t"; 
cin>>x1;
cout<<"x2:\t";
cin>>x2;
 
 
while(true)
{
int cs;
cout<<"\nВведите количество точек разбиения отрезка интегрирования n."<<endl<<"\nn:\t";
cin>>n;
cs=test(n);
if (cs==0)
cout<<"\nЗначение n меньше единицы. Введите заново.\n";
else
break;
}
 
//--------------------------------------------------------------------------- 
//Вывод результата
 
cout << endl <<"\nРезультат интегрирования= " << Int(x1,x2,n)<<endl;
 
}
 
//---------------------------------------------------------------------------
// Метод средних прямоугольников
double Int(double x1,double x2,double n)
{
double a,b,c;
cout<<"\nВведите коэффициенты подынтегральной функции{y=a * cos (b * x )+ x^c}:"<<endl<<"\na\t";
cin>>a;
cout<<"b:\t";
cin>>b;
cout<<"c:\t";
cin>>c;
    double dx=fabs(x1-x2)/n;//приращение
    double Integ=0;
    for ( int i=0 ; i<n ; i++)
    {
        Integ += func((x1+dx*i),a,b,c);
    }
    Integ *= dx;
    return Integ ;
}
//---------------------------------------------------------------------------
//Подынтегральная функция
 
double func(double x,double a,double b,double c)
{
return (a * cos (b * x )+ pow (x,c));
}
 
//---------------------------------------------------------------------------
// проверка количество точек разбиения отрезка интегрирования (n) 
int test(int n)
{
if (n<1)
return 0; 
else
return 1;
}

И еще парочку вопросов :
1)Нужно ли писать чему равен интеграл?
2)Может ли быть число n дробным?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2014, 22:06
Ответы с готовыми решениями:

Вычисление определенного интеграла методом средних прямоугольников для функции
Вот само задание : Разработать программу для вычисления определенного интеграла методом средних прямоугольников для функции типа:...

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

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

6
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
17.01.2014, 22:15
Цитата Сообщение от 150333 Посмотреть сообщение
2)Может ли быть число n дробным?
n-число отрезков,делать его дробным бессмысленно.

Цитата Сообщение от 150333 Посмотреть сообщение
1)Нужно ли писать чему равен интеграл?
То есть конечный результат?
0
3 / 3 / 0
Регистрация: 18.10.2013
Сообщений: 107
17.01.2014, 22:48  [ТС]
1)Нужно ли писать чему равен интеграл?
Извиняюсь за глупый вопрос
А как ты думаешь , чем еще можно дополнить программу ?
0
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 723
17.01.2014, 23:00
Еще бы следовало обработать значение степени- корень из отрицательного числа, например, не является действительным числом.
Еще шаг интегрирования можно сделать переменным.
1
3 / 3 / 0
Регистрация: 18.10.2013
Сообщений: 107
17.01.2014, 23:18  [ТС]
Еще бы следовало обработать значение степени- корень из отрицательного числа, например, не является действительным числом.
А как сделать проверку степени числа , рациональное оно или целое ?
0
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 723
17.01.2014, 23:46
Функция modf вроде выделяет дробную часть, сам не пользовался, можно ее сравнить с малым числом и на основе этого делать вывод.

Здесь другое дело- попробовал в Mathematica вычислить (-27)^(1/3) - выдает мнимое число, я думал здесь -3 ответ, надо с правилами математики разобраться- какие степени допустимы, только ли целые.

p.s. modf только покажет целое ли оно.
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
18.01.2014, 00:36
Цитата Сообщение от 150333 Посмотреть сообщение
А как ты думаешь , чем еще можно дополнить программу ?
Можешь реализовать похожий метод трапеций.

Добавлено через 40 секунд
Цитата Сообщение от AndrSlav Посмотреть сообщение
(-27)^(1/3) - выдает мнимое число, я думал здесь -3 ответ
-3 и будет

Добавлено через 21 минуту
Цитата Сообщение от AndrSlav Посмотреть сообщение
Здесь другое дело- попробовал в Mathematica вычислить (-27)^(1/3) - выдает мнимое число, я думал здесь -3 ответ, надо с правилами математики разобраться- какие степени допустимы, только ли целые.
Дело в том,что у уравнения https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{3}=-27 ,есть 3 корня.
Одно из них -3,а два других комплексные:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{3}{2}*(1+\sqrt{3}*i) \\\frac{3}{2}*(1-\sqrt{3}*i)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2014, 00:36
Помогаю со студенческими работами здесь

Вычисление определенного интеграла методом средних прямоугольников
Вот написал прогу для вычисления определенного интеграла. \int_{0}^{2}\left(x^3\cdot e^x \right)dx\\F\left(x...

Разработать алгоритм и программу приближенного вычисления интеграла методом прямоугольников
Пределы интегрирования a, b и шаг интегрирования h (h=const) вводятся пользователем. 0&lt;=a,b&lt;=20; a&lt;b; 0,0001&lt;=h&lt;=1. ...

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

Вычисление определенного интеграла методом средних прямоугольников используя потоки Java
Здравствуйте, в ргр есть задание написать программу для вычисления определенного интеграла (f(x) = sqrt(2 - x^2) dx) в пределах от 1 до...

Определить функцию для приближённого вычисления значения определённого интеграла методом левых прямоугольников
Определить функцию для приближённого вычисления значения опре- делённого интеграла методом левых прямоугольников по формуле ...


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

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

Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru