Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aladin
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 5
#1

Решение ОДУ 2го порядка - C++

17.05.2011, 20:15. Просмотров 741. Ответов 0
Метки нет (Все метки)

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

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

Не получается реализовать
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
#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);
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 20:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решение ОДУ 2го порядка (C++):

Численно решить ОДУ методом Рунге-Кутта 4 порядка - C++
Доброго времени суток. Мне нужно численно решить ОДУ методом Рунге-Кутта 4 порядка. Уравнение имеет вид: p'=-A-B*p, p(0)=p0. Проблема...

Решение ОДУ в FreePascal - C++
Здравствуйте, буду признателен если не откажите в помощи. Нужно в паскале задать условия программы, чтобы она решала систему Обыкновенных...

Решение системы ОДУ + СЛАУ - C++
Добрый день. Помогите, пожалуйста, с решением системы ОДУ + СЛАУ есть система уравнений 1) dx/dt=f1(x,y), dx/dt(0) = a1 2) y =...

Решение системы 3(k+1) о.д.у первого порядка - C++
Здравствуйте, решаю систему 3(k+1) ОДУ первого порядка.Решаю 2 методами - Р.К. 4 порядка и Мерсона. Сама система: ...

Решение СЛАУ третьего порядка - C++
Разработать алгоритм и программу для решения системы алгебраических уравнений третьего порядка методом обратной матрицы....

Решение системы линейных уравнений третьего порядка по правилу Крамера - C++
Напишите функцию для решения системы линейных уравнений третьего порядка по правилу Крамера

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2011, 20:15
Привет! Вот еще темы с ответами:

Решение дифуров методами Эйлера-Коши с итерациями и Рунге-Кутты четвертого порядка - C++
решить методами эйлера-коши с итерациями и рунге -куты четвертого порядка диф. уравнение y`+ycosx=e-sinx X e, y(0)=1 h=0.1

Решение диф. уравнения для колебаний методом Рунге—Кутты 4го порядка.(С++) - C++
Ребят помогите пожалуйста решить такое на C++ уравнение x''=(-w^2)*x где w-const там замену нужно сделать что то вроде y=x' и y'=x'' и...

Исправить код в методе рунге кутты 4 порядка ля системы ДУ 1 порядка - C++
Вот код для метода рунге кутты 4 порядка для систему ДУ 1 порядка. Вроде все верно, но ответ не правильный. В чем ошибка. Подскажите...

Какое условие поставить на выходе из цикла в методе Рунге Кутта 4 порядка для системы ДУ 1 порядка? - C++
Пока имеется вот такой код для решения системы ДУ 1 порядка, если имеется ошибка исправьте пожалуйста, Вопрос: как мне получить ответ, мне...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru