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

Метод Рунге-Кутта - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как работает компилятор при создании объекта http://www.cyberforum.ru/cpp-beginners/thread987639.html
Таки думал разобрался как работает конструктор копирования, а выходит, что нет. Вопрост состоит в следующем. Имеем код представляющий собой класс для хранения указателей на строки которые хранятся в другом классе(суть в том что бы не хранить в памяти несколько копия строк если они идентичны): #include<iostream> using namespace std; ////////////////////////////////////////////////////////...
C++ Вывод таблицы значений фенкций Написать программу,которая выводит таблицу значений финкции >^(x-2)+(x+1). Диапазон изменения аргумента вводится пользователем так же как и шаг приглашение аргумента. http://www.cyberforum.ru/cpp-beginners/thread987622.html
Удалить столбец матрицы с номером K C++
Дана матрица размера M × N и целое число K (1 ≤ K ≤ N ). Удалить столбец матрицы с номером K. #include "stdafx.h" #include <iostream> #include <time.h> #include <stdio.h> using namespace std; int _tmain(int argc, _TCHAR* argv) {
Решение квадратного уравнения C++
Написать программу решение квадратного уравнения. Программа должно проверять правельность исходных данных и в случае, если коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение.
C++ Перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread987609.html
3. Множество с элементами типа char. Дополнительно перегрузить следую-щие операции: • -  удалить элемент из множества (типа set-char); • проверка на подмножество; • !=  проверка множеств на неравенство.
C++ Взаимное включение заголовочных файлов Нужно передать объект по ссылке Вот как сейчас: //LoadImages.h class LoadImages { ttfInit(); }; //LoadImages.cpp void LoadImages::ttfInit() { подробнее

Показать сообщение отдельно
ruster
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 4
25.10.2013, 13:00     Метод Рунге-Кутта
Помогите написать метод Рунге Кутта для решение систем диф. уравнений из 4 уравнений.
dx/dt=Px=f1(t,x,y,Px,Py)
dy/dt=Py=f2(t,x,y,Px,Py)
dPx/dt=-(w^2)*x-2axy=f3(t,x,y,Px,Py)
dPy/dt=-(w^2)*y-ax^2+by^2=f4(t,x,y,Px,Py)

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
void Rugge_Kutte2(double h,double &Xo,double &Yo,double &PXo,double &PYo,double a,double b)
{
//вместо t везде нули, так как в f1,f2,f3,f4 оно не на что не влияет
    k11=h*f1(0,Xo,Yo,PXo,PYo,a,b);
    k21=h*f2(0,Xo,Yo,PXo,PYo,a,b);
    k31=h*f3(0,Xo,Yo,PXo,PYo,a,b);
    k41=h*f4(0,Xo,Yo,PXo,PYo,a,b);
 
    k12=h*f1(0,Xo+h/2,Yo+k21/2,PXo+k31/2,PYo+k41/2,a,b);
    k22=h*f2(0,Xo+h/2,Yo+k21/2,PXo+k31/2,PYo+k41/2,a,b);
    k32=h*f3(0,Xo+h/2,Yo+k21/2,PXo+k31/2,PYo+k41/2,a,b);
    k42=h*f4(0,Xo+h/2,Yo+k21/2,PXo+k31/2,PYo+k41/2,a,b);
 
    k13=h*f1(0,Xo+h/2,Yo+k22/2,PXo+k32/2,PYo+k42/2,a,b);
    k23=h*f2(0,Xo+h/2,Yo+k22/2,PXo+k32/2,PYo+k42/2,a,b);
    k33=h*f3(0,Xo+h/2,Yo+k22/2,PXo+k32/2,PYo+k42/2,a,b);
    k43=h*f4(0,Xo+h/2,Yo+k22/2,PXo+k32/2,PYo+k42/2,a,b);
 
    k14=h*f1(0,Xo+h/2,Yo+k23,PXo+k33,PYo+k43,a,b);
    k24=h*f2(0,Xo+h/2,Yo+k23,PXo+k33,PYo+k43,a,b);
    k34=h*f3(0,Xo+h/2,Yo+k23,PXo+k33,PYo+k43,a,b);
    k44=h*f4(0,Xo+h/2,Yo+k23,PXo+k33,PYo+k43,a,b);
    
    Xo=Xo+(k11+2*k12+2*k13+k14)/6;
    Yo=Yo+(k31+2*k32+2*k33+k34)/6;
    PXo=PXo+(k21+2*k22+2*k23+k24)/6;
    PYo=PYo+(k41+2*k42+2*k43+k44)/6;
 
}
Он почему то работает неправильно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru