11 / 11 / 12
Регистрация: 27.10.2014
Сообщений: 108
1

Интеграл функции методом трапеций, прямоугольника и Симпсона

08.11.2014, 12:42. Показов 2073. Ответов 4
Метки нет (Все метки)

Нужно найти интеграл функции, методом трапеций, прямоугольника и Симпсона.
Ошибка вылетает float __cdecl Tr(double)" (?Tr@@YAMN@Z) в функции main.

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
#include <iostream>
#include <conio.h>
#include <iomanip>
 
 
 
 
using namespace std;
float Pr(float f);
float Tr(double f);
float Si(double F);
 
 
int b,e=1000,n,k;
    double a,f=1.0,tmp1,tmp2,h,x=1.0,P=0,s=0,F;
 
void main()
{
    tmp1=1+pow(3*x,8.0);
    tmp2=pow(tmp1,0.5);
    f=(pow(x,15.0)*tmp2);
        cout<<"vvedit grani [a,b]"<<endl;
    cin>>a; cout<<endl;
    cin>>b; cout<<endl;
    cout<<"Vvedit kilkist krokiv";
    cin>>k;
        
        
    a=Tr(a);
    cout<<a;
    
 
 
            _getch();
 
}
 
    
float Pr(int a,int b, unsigned k,double h, double(f)){
    
     h=(b-a)/k;
    f=(pow(x,15.0)*a+tmp2*b);
        for(x=a;x<=b;x+=h)
            f+=pow(x,15.0)*tmp2;
        f*=h/e;
        return float(f);
}
 
 
 
 
 
float Tr(int a,int b, unsigned k,double h, double(f)){
 
    
    
 
         h=(b-a)/k;
        
        f=(pow(x,15.0)*a+tmp2*b)/2;
        for(x=a+h;x<=b;x+=h)
            f+=pow(x,15.0)*tmp2;
        f*=h/e;
        return float(f);
}
 
 
 
 
 
 
float Si(double a, double b, unsigned k,double (*f)(double x), double (F))
    {
        
        
        double h=(b-a)/k;
        double x0=a;
        double x1=a+h;
        
        
        for(unsigned i=0;i<=k-1;i++){
            s=s+f(x0)+4*f(x0+h/2)+f(x1);
            x0+=h;
            x1+=h;
        }
        F=(h/6)*s;
        return float(F);
    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2014, 12:42
Ответы с готовыми решениями:

Решить методом трапеций или Симпсона определенный интеграл
Здавствуйте! Помогите пожалуйста! Решить методом трапеций или Симпсона определенный интеграл...

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

Вычисление значения трех определенных интегралов методом трапеций или методом Симпсона
Всем привет, нужна конкретная помощь по написанию проги по такому условию. Написать программу,...

Найти площадь фигуры методом трапеций и методом Симпсона
Доброе время суток Я студент поэтому прошу не нападать мне нужно написать код для тапазойдного и...

4
шКодер самоучка
2171 / 1878 / 912
Регистрация: 09.10.2013
Сообщений: 4,125
Записей в блоге: 7
08.11.2014, 13:05 2
в 10й строке у вас предварительное описание Tr как функции с 1м параметром
в main она так же вызывается с 1м параметром
но в 53й строке Tr описана как функция с 5ю параметрами
соответственно компилятор ищет функцию с 1м параметром и не находит ее

в С++ функции могут иметь одинаковые имена, но разное количество и/или типы аргументов
когда вы используете предварительное описание(как в строках 9-11) компилятор считает, что эти функции будут описаны либо далее в этом файле, либо в другом(например в библиотеке) и будет искать их уже после компиляции, на этапе компоновки из объектных файлов(*.o, *.obj) и библиотек(*.lib, *.a)
Собственно когда он не находит функции в объектных файлах/библиотеках и возникают подобные ошибки
0
11 / 11 / 12
Регистрация: 27.10.2014
Сообщений: 108
08.11.2014, 13:27  [ТС] 3
Ну я попробовал, в функции указывать только 1 параметр.
float Tr(float f) или это бред?
0
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
08.11.2014, 13:30 4
Цитата Сообщение от bi4ugan Посмотреть сообщение
или это бред?
Если Вы считаете, что остальные параметры передавать не надо,
то в объявлении укажите, чему они должны быть равны по умолчанию,
например так:
C++
1
float Tr( double (*f),int a=0,int b=1, unsigned k=1,double h=0.1);
И не забудьте поменять описание функции на
C++
1
float Tr( double (*f),int a,int b, unsigned k,double h){
0
11 / 11 / 12
Регистрация: 27.10.2014
Сообщений: 108
10.11.2014, 19:30  [ТС] 5
Все получилось кроме Симпсона.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
double func(double x)
{
    double r=pow(x,14)*(57*pow(x,8)+15)*sqrt(3*pow(x,8)+1);
    return r;
}
double SimpsonMethod(double W, double Z, double (*r)(double x)) {
    int k=1000;
    double h =(W-Z)/k;
    double sum = 0;
 
    double x0 = W;
    double x1 = W + h;
 
    for (int i=0; i<=k-1; i++) {
        sum += r(x0) + 4*r(x0 + h/2) + r(x1);
 
        x0 += h;
        x1 += h;
    }
 
    return (h/6)*sum;
}
ссылка на неразрешенный внешний символ "double __cdecl Si(double,double)" (?Si@@YANNN@Z) в функции main.
Vs 2010

Добавлено через 25 минут
Все сделал сам, спасибо.
Удаляйте.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2014, 19:30
Помогаю со студенческими работами здесь

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

Вычислить интеграл методами левых прямоугольников, трапеций и Симпсона с заданной точностью
Вычислить интеграл 14 ∫ x^3lnxd 06 методами левых прямоугольников, трапеций и...

Вычисление интеграла методом прямоугольника и методом трапеций
Есть 2 кода. Вычисление методом прямоугольника и вычисление методом трапеций. Написал два кода. Но...

Вычислить методами Симпсона и методом трапеций интеграл от функции F(х)=1/(1+[) в заданных пределах [0.0,2.0] с точностью е=10^(-4).
Помогите довести программу до ума. Вычислить методами Симпсона и методом трапеций интеграл от...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru