Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите найти ошибки, интеграл 
:(
    Опции темы
girlsbest
Дата 24.10.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



помогите найти ошибки...мне нужно вычислить три интеграла 1= интеграл х в кубе * е в степени 2х  2=нитеграл1/1+корень из х  3=интеграл1/(х+1)*корень из (х*х+1)
с помощью функций...
Код

# include <iostream>
# include <cmath>
using namespace std;
double fun(double);
double integ1(double x)
{
    return x*x*x*pow(exp,(2*x));
}
double integ2(double x)
{
    return 1/(1+sqr(x));
}
double integ3(double x)
{
    return 1/(x+1)* sqr(x*x+1);
}
double metod (double fun(double), double a, double b, double e)
{
    double s1,d,x1,help;
    bool check=false;
    int n=1;
    double s2=(b-a)*(fun(b)+fun(a))*0.5;
    if (a==b)
        return 0.0;
    if (a>=b)
    {
        help=a;
        a=b;
        b=help;
        check=true;
    }
    do 
    s1=s2;
    n*=2;
    d=(b-a)/n;
    s2=d*(fun(b)+fun(a))*0.5;
    x1=a;
    for (int i=0; i<n; i++)
    {

        x1 +=d;
        s2 += fun(x1)*d;
    }
    while (abs(s2-s1)<e)
        if (check)
            s2=-s2;
    return s2;
}
int main ()
{
double s,d,p;
s=metod(integ1,0.0, 0.8, 0.0000001);
d=metod(integ2, 0.0, 1.8, 0.000001);
p=metod(integ3, 0.0, 0.3, 0.000001);
cout<<"rezultat"<<s<<endl;
cout<<"rezultat2"<<d<<endl;
cout<<"rezultat3"<<p<<endl;
}

        
        

PM MAIL   Вверх
_GRIN_
Дата 24.10.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


одинокий падаван
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 18.11.2007
Где: Калуга

Репутация: нет
Всего: 7



girlsbest, в MSVS2008 с некоторыми поправками собрал следующий код:

Код

#include <iostream>
#include <cmath>
using namespace std;

double fun(double);

double integ1(double x)
{
    return x*x*x*exp(2*x);
}

double integ2(double x)
{
    return 1/(1+sqrt(x));
}

double integ3(double x)
{
    return 1/(x+1)* sqrt(x*x+1);
}

double metod (double fun(double), double a, double b, double e)
{
    double s1,d,x1,help;
    bool check=false;
    int n=1;
    double s2=(b-a)*(fun(b)+fun(a))*0.5;
    if(a==b)return 0.0;
    if (a>=b)
    {
        help=a;
        a=b;
        b=help;
        check=true;
    }

    do 
    {
        s1=s2;
        n*=2;
        d=(b-a)/n;
        s2=d*(fun(b)+fun(a))*0.5;
        x1=a;
        for (int i=0; i<n; i++)
        {

            x1 +=d;
            s2 += fun(x1)*d;
        }
    }
    while (abs(s2-s1)<e);
    if(check)s2=-s2;
    return s2;
}

int main ()
{
    double s,d,p;
    s=metod(integ1, 0.0, 0.8, 0.0000001);
    d=metod(integ2, 0.0, 1.8, 0.000001);
    p=metod(integ3, 0.0, 0.3, 0.000001);
    cout<<"rezultat1: "<<s<<endl;
    cout<<"rezultat2: "<<d<<endl;
    cout<<"rezultat3: "<<p<<endl;
}


код собирается, работает, правильность результатов не проверил - времени нет, убегаю smile


--------------------
Дорогу осилит идущий
PM MAIL Skype   Вверх
girlsbest
Дата 26.10.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



ответы немного не совпадают..но все равно спасибо..щас сама буду смотреть...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.