Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44

Решение интеграла метод центральных прямоугольников

11.11.2011, 17:49. Показов 5586. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте товарищи программисты. Прошу помощи с решением задачи. Пишу курсовик и там надо посчитать интеграл на C++ методом центральных прямоугольников на интервале t1=0.008, t2=0.014. Я написал вот это:
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
#include<iostream>
#include<math.h>
using namespace std;
 
double I(double t)
{
if (t<0.101)
return 1.85*pow(10,4)*pow(t,3)+6.824*pow(10,3)*pow(t,2)-83.707*t+0.002066;
else if (t<0.105)
return -23.84*t+0.002071;
else
return -1.048*pow(10,5)*pow(t,3)+4.403*pow(10,3)*pow(t,2)-58.359*t-0.001629;
}
 
int main()
{
double t,t1=0.008,t2=0.014;
double h = (t2-t1)/100;
double r=1.88;
double Q=0;
for(int i=0;i<100;i++)
{
 Q+=h*I(t1+i*h-h/2);
}
Q*=r;
cout<<"q="<<Q<<endl;
cin>>t;
system("pause");
return 0;
}
Но программа не запускается в VS 2010. Помогите найти ошибку пожалуйста. А то я не нахожу.

Просто в общих целях посчитал на маткаде получилось вот так (см. приложенную картинку)
Спасибо!
Изображения
 
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2011, 17:49
Ответы с готовыми решениями:

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

Решение интеграла методом левых прямоугольников
есть программа которая решает ингерал методом средних прямоугольников, вот: ...

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

15
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 18:02
Приложили бы ошибки тогда уж : )
Функция pow не принимает первым аргументом целочисленные значения.
Попробуйте написать так для всех pow:
pow(10,3)->pow(10.0,3)

*А что вот эта часть что делает? "cin>>t" — получается мы запрашиваем у пользователя ввод переменной, которую нигде дальше не используем.
C++
1
2
3
    cin>>t;
    system("pause");
    return 0;
0
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 18:10  [ТС]
Прога запустилась. Спасибо! только че то с маткадом ответ не сходится теперь. Вот такое выдал (см. вложенную картинку)

cin>>t; убрал ниче не изменилось. Это я че то ступил.
Изображения
 
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 18:23
Теперь ищите в математике ошибку или в маткаде или в c++ что-то закралось.
Вот, например, в c++ странное место:
C++
1
2
3
4
5
6
7
8
9
10
11
if (t<0.101)
return 1.85*pow(10,4)*pow(t,3)+6.824*pow(10,3)*pow(t,2)-83.707*t+0.002066;
else if (t<0.105)
return -23.84*t+0.002071;
else
return -1.048*pow(10,5)*pow(t,3)+4.403*pow(10,3)*pow(t,2)-58.359*t-0.001629;
}
 
int main()
{
double t,t1=0.008,t2=0.014;
Видно, что всё время моделирования попадает только в первый if. t<0.101, так и должно быть?
1
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 18:28  [ТС]
Нет. Щас посмотрю может че найду. Спасибо.
0
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 18:34  [ТС]
Вообще вот полное решение из маткада там ошибок точно нет. Проверено преподом)
Миниатюры
Решение интеграла метод центральных прямоугольников  
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 18:35
А сами функции где?
0
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 18:43  [ТС]
А так эти начальные условия что ли. Вот.
Миниатюры
Решение интеграла метод центральных прямоугольников  
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 18:46
I1(t), I2(t), I3(t) — вот эти я имел ввиду, они в расчётах используются.
0
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 18:51  [ТС]
Вот они
Миниатюры
Решение интеграла метод центральных прямоугольников  
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 19:15
Во-первых, из этого выполняется только первое условие, значит упрощаем:
C++
1
2
3
4
5
6
7
8
9
double I(double t)
{
if (t<0.101)
return 1.85*pow(10,4)*pow(t,3)+6.824*pow(10,3)*pow(t,2)-83.707*t+0.002066;
else if (t<0.105)
return -23.84*t+0.002071;
else
return -1.048*pow(10,5)*pow(t,3)+4.403*pow(10,3)*pow(t,2)-58.359*t-0.001629;
}
Во-вторых в mathcad вы пишите I(t)=I0^2(t), следовательно на c++ правильнее будет так:
C++
1
return pow(1.85*pow(10,4)*pow(t,3)+6.824*pow(10,3)*pow(t,2)-83.707*t+0.002066,2);
Проверьте теперь.
0
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 19:26  [ТС]
Немножко не понял а как упростить то что во-первых? В квадрат возвел.
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 19:32
Вот так:
C++
1
2
3
4
double I(double t)
{
return pow(1.85*pow(10,4)*pow(t,3)+6.824*pow(10,3)*pow(t,2)-83.707*t+0.002066,2);
}
Интервал 0.008—0.014 всегда меньше 0.101.
0
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 19:36  [ТС]
Сделал. Вот результат работы программы.
Миниатюры
Решение интеграла метод центральных прямоугольников  
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 19:38
А в mathcad было Q3=2,099·10^(-4), что то же самое — значит сходится.
1
0 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 44
11.11.2011, 19:39  [ТС]
Да я уж вижу) Спасибо большое еще раз за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2011, 19:39
Помогаю со студенческими работами здесь

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

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

Вычисление интеграла методом прямоугольников
Помогите решить задачу! Необходимо использовать метод прямоугольников. Для построения прямоугольника использовать середину отрезка: ...

Найти значение интеграла методом прямоугольников
помогите найти ошибку #include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;math.h&gt; using namespace std; const double b =...

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


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru