Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 20:26   #1
Aladin
 
Регистрация: 17.05.2011
Сообщений: 9
По умолчанию Решение ОДУ 2го порядка

Здравствуйте нужна ваша помощь
ОДУ 2го порядка. y''=5y=0, y(0)=0 y(1)=1;
Необходимо решить методом рунге кутта 4го п.т.

Я сделал как систему ду.
z' = -5y;
y'=z;

Не получается реализовать
Код:
#include "stdafx.h" 
#include "iostream" 
 
using namespace std; 
 
double y(double x, double y,double z) 
{ 
return -5*y;
} 
double z(double x, double y,double z) 
{ 
return z; 
} 
 
 
 
void r_k_4(double xn,double xk,double h,double y0,double z0,int n) 
{ 
int i; 
double x; 
double *yt = new double [n]; 
double *zt = new double [n]; 
double k1,k2,k3,k4; 
double k_1,k_2,k_3,k_4; 
 
for(x=xn,i=0; x<=xk,i<=n; x+=h,i++) 
{ 
k1 = h * y(x, xn, z0); 
k_1 = h * z(x, xn, z0); 
 
k2 =h*y(x+h/2, y0+k1/2, z0+k_1/2); 
k_2=h*z(x+h/2, y0+k1/2, z0+k_1/2); 
 
k3=h*y(x+h/2,y0+k2/2,z0+k_2/2); 
k_3=h*z(x+h/2,y0+k2/2,z0+k_2/2); 
 
k4=h*y(x+h,y0+k3,z0+k_3); 
k_4=h*z(x+h,y0+k3,z0+k_3); 
 
yt[i]=y0+(k1+2*k2+2*k3+k4)/6; 
zt[i]=z0+(k_1+2*k_2+2*k_3+k_4)/6; 
} 
 
for(x=xn,i=0; x<=xk,i<=n; x+=h,i++) 
{ 
 printf("y[%.2lf] = %3.16lf z[%.2lf] = %3.16lf\n",x,yt[i],x,zt[i]); 
} 
} 
 
void main() 
{ 
double xn=0.0,xk=1.0,y0=0,z0=1,n,h; 
cout<<"N = "; cin>>n; 
h=(xk-xn)/n; 
r_k_4(xn,xk,h,y0,z0,n);
 
}
Aladin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решение квадратной матрицы n порядка юляяя Помощь студентам 8 21.04.2011 19:19
Написать программу на C++ для решения ОДУ разностным методом Macuka Фриланс 0 13.12.2010 21:29
перенос из формы в следующую строку 2го листа oleg_sh Microsoft Office Excel 17 03.07.2010 18:15
Решение дифф.уравнений 2го порядка явным и неявным методами Эйлера ogion Помощь студентам 4 16.05.2010 18:36
Помогите решить ОДУ,фортран schlesser Помощь студентам 1 20.12.2009 21:31