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

Вычисление определенного интеграла приближенными методами

12.12.2012, 20:02. Показов 3497. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вычисление определенного интеграла приближенными методами

формулой прямоугольников и формулой трапеции.

Вычислить интеграл при двух значениях шага интегрирования h=0.1 h=0.01

∫ a=0.4 b=1.2 (cosx2)/(x+1) * dx

Вот делал сам:

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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
main()
{
setlocale(LC_ALL,"Russian"); //
float b,h,t,y,a,s,x;
int N,k,i;
 
cout<<"Введите интервал [a] = ";cin>>a;
cout<<"Введите интервал [b] = ";cin>>b;
for (k=1;2;k++)
{
    N=5;
    cout<<"Введи h =";cin>>h;
    s=0; x=a;
    for (i=1;N;i++);
    {
        s=s+(cos*pow(x,2))/(x+1)*dx;
        x=x+h;
    }
        t=s*h;
        cout<<"При h= "<<h<<"интеграл ="<<t<<endl;
}
system("pause");
}
но у меня выдает ошибку на 20 строке s=s+(cos*pow(x,2))/(x+1)*dx; пишет invalid operands of types `double ()(double)' and `double' to binary `operator*'

Помогите в чем проблема может быть..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2012, 20:02
Ответы с готовыми решениями:

Вычисление значения определенного интеграла численными методами прямоугольников и трапеций
Разработать программу для вычисления значения определенного интеграла на интервале (a, b подобрать самостоятельно) численными методами...

Вычисление определенного интеграла функции y(x) численными методами прямоугольников и трапеций
Разработать компьютерную программу вычисления определенного интеграла функции y(x) численными методами прямоугольников и трапеций. В виде...

Вычислить значение определенного интеграла разными методами
Вычислить значение определенного интеграла по формуле прямоугольников (слева, справа и их среднее значение), по формуле трапеций и по...

20
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:05
s=s+(cos*pow(x,2))/(x+1)*dx;

Где переменная dx???
0
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:08  [ТС]
dx эт щас приписал тестил без dx

Добавлено через 51 секунду
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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
main()
{
setlocale(LC_ALL,"Russian"); //
float b,h,t,y,a,s,x;
int N,k,i;
 
cout<<"Введите интервал [a] = ";cin>>a;
cout<<"Введите интервал [b] = ";cin>>b;
for (k=1;2;k++)
{
    N=5;
    cout<<"Введи h =";cin>>h;
    s=0; x=a;
    for (i=1;N;i++);
    {
        s=s+(cos*pow(x,2))/(x+1);
        x=x+h;
    }
        t=s*h;
        cout<<"При h= "<<h<<"интеграл ="<<t<<endl;
}
system("pause");
}
так
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:08
m1stery, я понял уже давно)
0
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:10  [ТС]
так в чем же проблема, неправильно дал тип s ?
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:11
C++
1
s=s+(cos(/*косинус чего???*/)*pow(x,2))/(x+1)*dx;
0
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:12  [ТС]
конинус икса в квадрате
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:15
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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
main()
{
setlocale(LC_ALL,"Russian"); //
float b,h,t,y,a,s,x;
int N,k,i;
 
cout<<"Введите интервал [a] = ";cin>>a;
cout<<"Введите интервал [b] = ";cin>>b;
for (k=1;2;k++)
{
    N=5;
    cout<<"Введи h =";cin>>h;
    s=0; x=a;
    for (i=1;N;i++);
    {
        s=s+(cos(pow(x,2)))/(x+1);
        x=x+h;
    }
        t=s*h;
        cout<<"При h= "<<h<<"интеграл ="<<t<<endl;
}
system("pause");
}
Тогда так)))
0
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:44  [ТС]
встает на этом дальше не выводит ниче

0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:46
C++
1
for (i=1;N;i++);//бесконечный цикл
0
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:47  [ТС]
и еще если добавить так чтобы N вычислялся

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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
main()
{
setlocale(LC_ALL,"Russian"); //
float b,h,t,y,a,s,x;
int N,k,i;
 
cout<<"Введите интервал [a] = ";cin>>a;
cout<<"Введите интервал [b] = ";cin>>b;
for (k=1;2;k++)
{
    cout<<"Введи h =";cin>>h;
    N=(b-a)/h;  //Как здесь сделать чтобы она округляла в целое число? ну куски не могут быть 2.4
    s=0; x=a;
    for (i=1;N;i++);
    {
        s=s+(cos(pow(x,2)))/(x+1);
        x=x+h;
    }
        t=s*h;
        cout<<"При h= "<<h<<"интеграл ="<<t<<endl;
}
system("pause");
}
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:48
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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
main()
{
setlocale(LC_ALL,"Russian"); //
float b,h,t,y,a,s,x;
int N,k,i;
 
cout<<"Введите интервал [a] = ";cin>>a;
cout<<"Введите интервал [b] = ";cin>>b;
for (k=1;2;k++)
{
    N=5;
    cout<<"Введи h =";cin>>h;
    s=0; x=a;
    for (i=1;i < N;i++);
    {
        s=s+(cos(pow(x,2)))/(x+1);
        x=x+h;
    }
        t=s*h;
        cout<<"При h= "<<h<<"интеграл ="<<t<<endl;
}
system("pause");
}
1
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:48  [ТС]
Цитата Сообщение от sovaz1997 Посмотреть сообщение
C++
1
for (i=1;N;i++);//бесконечный цикл
я же добавил N значение 5 , а почему так?
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:50
N не меняется. N = 5. Значит N = true. Бесконечный цикл.

P.S. Попробуй новый код)))
1
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:52  [ТС]
все с эти разобрался спасибо, а как сделать следущее

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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
main()
{
setlocale(LC_ALL,"Russian"); //
float b,h,t,y,a,s,x;
int N,k,i;
 
cout<<"Введите интервал [a] = ";cin>>a;
cout<<"Введите интервал [b] = ";cin>>b;
for (k=1;2;k++)
{
    cout<<"Введи h =";cin>>h;
    N=(b-a)/h;  //Как здесь сделать чтобы она округляла в целое число? ну куски не могут быть 2.4 из float в целое
    s=0; x=a;
    for (i=1;i < N;i++);
    {
        s=s+(cos(pow(x,2)))/(x+1);
        x=x+h;
    }
        t=s*h;
        cout<<"При h= "<<h<<"интеграл ="<<t<<endl;
}
system("pause");
}
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:55
N у тебя и так целое. Может ты имеешь ввиду округлять вывод?
1
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:57  [ТС]
да ну там после вычисления получается не целое число. как конвертировать ее в целое?
16 строка N=(b-a)/h;
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
12.12.2012, 20:59
Сделай проще: в 17 строчке сделай cout << N. Увидишь сам)
1
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
12.12.2012, 21:00
Цитата Сообщение от m1stery Посмотреть сообщение
да ну там после вычисления получается не целое число. как конвертировать ее в целое?
16 строка N=(b-a)/h;
C++
1
N=(int)(b-a)/h;
а что вам мешает сделать N числом с плавающей запятой, в С++ цикл можно и с плавающей запятой организовать
1
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 21:11  [ТС]
целое ))) получается ) при h = 0.1 в минусе число получается большое но целое, при 0.01 получается 9 не думал а не знаешь как этот dx находить x то понятно, а d какое значение принимает или с клавиатуры ввод ее нужен?

Добавлено через 4 минуты
Цитата Сообщение от Nixy Посмотреть сообщение
1
N=(int)(b-a)/h;
так вообще 0 получается N ставил значения h 0.1 , 0.01 ,
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2012, 21:11
Помогаю со студенческими работами здесь

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

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

Вычисление определенного интеграла.
Добрый вечер! Не могли бы Вы помочь с моей задачей. Нужно вычислить определенный интеграл (x*x)+(5*x), интервал от 0 до 10, методом...

Вычисление определенного интеграла си++
Составить программу вычисления определенного инте-грала с помощью метода Гаусса и Симпсона #include&lt;iostream&gt; ...

Вычисление определенного интеграла
Вычислить определенный интеграл, с точностью 7 знаков после десятичного разделителя, следующими методами: 1) формула прямоугольников, ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru