Метод Рунге - Кутты 4-го Поярдка

Тема в разделе "C/C++/C#", создана пользователем Again, 14 май 2012.

Статус темы:
Закрыта.
  1. Again

    Again Гость

    Помогите плз исправить ошибки
    Задание: решить диф. ур-е 1-го порядка методом Рунге - Кутты 4 порядка. y' = 2*y/x + x*x*exp(x); на промежутке х є [0,5]; y(1) = 0; h = 0.2
    Код:

    #include "stdafx.h"
    #include "iostream"
    #include "cmath"
    using namespace std;

    double func(double x,double y)
    {return (2*y)/x + x*x*exp(x);}

    int _tmain(int argc, _TCHAR* argv[])
    {setlocale (LC_ALL, "Russian_Russia.1251");
    int i,n;
    double K1,K2,K3,K4,h,y=0,x,pi;
    x = 0;
    h=0.2;
    //pi = 3.1415;

    while(x <= 5)
    {
    K1=h*func(x,y);
    K2=h*func(x+h/2,y+K1/2);
    K3=h*func(x+h/2,y+K2/2);
    K4=h*func(x+h,y+h*K3);


    y = y + (K1+2*K2+2*K3+K4)/6;
    cout<<y<<endl;
    x += h;
    }
    cin.get();
    return 0;
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей