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

  • Автор темы Again
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Again

#1
Помогите плз исправить ошибки
Задание: решить диф. ур-е 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;
}
 
Статус
Закрыто для дальнейших ответов.