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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:02     Вычисление определенного интеграла приближенными методами #1
Вычисление определенного интеграла приближенными методами

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

Вычислить интеграл при двух значениях шага интегрирования 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*'

Помогите в чем проблема может быть..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 20:02     Вычисление определенного интеграла приближенными методами
Посмотрите здесь:

C++ Вычисление определенного интеграла и решение уравнений методом Ньютона.
Вычисление определенного интеграла! C++
Вычисление определенного интеграла. C++
Вычисление определенного интеграла си++ C++
C++ Вычисление определенного интеграла методом Гаусса СИ
Вычисление определенного интеграла методом средних прямоугольников для функции C++
Вычисление определенного интеграла функции y(x) численными методами прямоугольников и трапеций C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:05     Вычисление определенного интеграла приближенными методами #2
s=s+(cos*pow(x,2))/(x+1)*dx;

Где переменная dx???
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:08  [ТС]     Вычисление определенного интеграла приближенными методами #3
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");
}
так
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:08     Вычисление определенного интеграла приближенными методами #4
m1stery, я понял уже давно)
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:10  [ТС]     Вычисление определенного интеграла приближенными методами #5
так в чем же проблема, неправильно дал тип s ?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:11     Вычисление определенного интеграла приближенными методами #6
C++
1
s=s+(cos(/*косинус чего???*/)*pow(x,2))/(x+1)*dx;
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:12  [ТС]     Вычисление определенного интеграла приближенными методами #7
конинус икса в квадрате
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:15     Вычисление определенного интеграла приближенными методами #8
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");
}
Тогда так)))
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:44  [ТС]     Вычисление определенного интеграла приближенными методами #9
встает на этом дальше не выводит ниче

[IMG]http://s59.***********/i163/1212/d0/523e00ff4d09.jpg[/IMG]
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:46     Вычисление определенного интеграла приближенными методами #10
C++
1
for (i=1;N;i++);//бесконечный цикл
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:47  [ТС]     Вычисление определенного интеграла приближенными методами #11
и еще если добавить так чтобы 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");
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:48     Вычисление определенного интеграла приближенными методами #12
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");
}
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:48  [ТС]     Вычисление определенного интеграла приближенными методами #13
Цитата Сообщение от sovaz1997 Посмотреть сообщение
C++
1
for (i=1;N;i++);//бесконечный цикл
я же добавил N значение 5 , а почему так?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:50     Вычисление определенного интеграла приближенными методами #14
N не меняется. N = 5. Значит N = true. Бесконечный цикл.

P.S. Попробуй новый код)))
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:52  [ТС]     Вычисление определенного интеграла приближенными методами #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++)
{
    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");
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:55     Вычисление определенного интеграла приближенными методами #16
N у тебя и так целое. Может ты имеешь ввиду округлять вывод?
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 20:57  [ТС]     Вычисление определенного интеграла приближенными методами #17
да ну там после вычисления получается не целое число. как конвертировать ее в целое?
16 строка N=(b-a)/h;
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 20:59     Вычисление определенного интеграла приближенными методами #18
Сделай проще: в 17 строчке сделай cout << N. Увидишь сам)
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.12.2012, 21:00     Вычисление определенного интеграла приближенными методами #19
Цитата Сообщение от m1stery Посмотреть сообщение
да ну там после вычисления получается не целое число. как конвертировать ее в целое?
16 строка N=(b-a)/h;
C++
1
N=(int)(b-a)/h;
а что вам мешает сделать N числом с плавающей запятой, в С++ цикл можно и с плавающей запятой организовать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 21:11     Вычисление определенного интеграла приближенными методами
Еще ссылки по теме:

Вычисление определенного интеграла C++
C++ Вычисление определенного интеграла методом центральных прямоугольников
C++ Вычисление определенного интеграла методом трапеции
Прямая рекурсия, вычисление значения определенного интеграла C++
Написать программу: вычисление определенного интеграла C++

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

Или воспользуйтесь поиском по форуму:
m1stery
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 20
12.12.2012, 21:11  [ТС]     Вычисление определенного интеграла приближенными методами #20
целое ))) получается ) при h = 0.1 в минусе число получается большое но целое, при 0.01 получается 9 не думал а не знаешь как этот dx находить x то понятно, а d какое значение принимает или с клавиатуры ввод ее нужен?

Добавлено через 4 минуты
Цитата Сообщение от Nixy Посмотреть сообщение
1
N=(int)(b-a)/h;
так вообще 0 получается N ставил значения h 0.1 , 0.01 ,
Yandex
Объявления
12.12.2012, 21:11     Вычисление определенного интеграла приближенными методами
Ответ Создать тему
Опции темы

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