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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не правильно работает код (отсортировать по алфавиту массив строк) http://www.cyberforum.ru/cpp-beginners/thread623628.html
Вот задача: Отсортировать по алфавиту массив строк и вывести на экран, учитывать первый символ. Пример: Входные данные: 3 //количество строк Анна Василий башня принцессы
C++ Что означают << и >> в конкретном случае? Добрый день! Подскажите, пожалуйста, почему int x,y,z y=8 z=2 x=1 x=x+z<<2+z>>4 http://www.cyberforum.ru/cpp-beginners/thread623619.html
C++ Тригонометрия
КАК найти значение выражения arcsin (формула какая нибудь)
Блуждающая ошибка! F5- без ошибки, Ctrl+F5 - с вылетом! о как! C++
Компилятор вижуал студия 2010, Кидаете в компилятор, Добавляете через меню "Dobaviti studenta" один или два или три студента(столько раз надо запустить), сохраняем через пункт меню выходим А...
C++ Ветвление http://www.cyberforum.ru/cpp-beginners/thread623577.html
я начал учить с++, уже второй день........... написал алгоритм с ветвлением #include <stdio.h> #include <iostream.h> #include <conio.h> int main(int nNumberofArgs, char*pzArgs)...
C++ Узнать запущена ли служба Windows Как узнать запущена ли оперделенная служба Windows, если конкретно служба управления подключениями удаленного доступа. Т.е моей программке находящейся в автозапуске нужно ждать покаместь служба не... подробнее

Показать сообщение отдельно
Slayerz
2 / 2 / 1
Регистрация: 14.07.2012
Сообщений: 28
Завершенные тесты: 2

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

14.07.2012, 11:57. Просмотров 5276. Ответов 9
Метки (Все метки)

Всем добрый день!
Задали практическую работу, в которой необходимо проинтегрировать функцию методом Рунге-Кутта 4го порядка.
Решил начать с простого написания алгоритма работы этого метода, и для начала хотел бы узнать, верно ли я его написал?
Ибо численных методов еще не было, и пришлось самому посидеть и повникать в этот метод.

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
    float func= 0, F = 0, P = 0, U = 0, t = 0, e = 0, lambda = 0, gamma = 0; // Переменные для функции
    float Runge, K1 = 0, K2 = 0, K3 = 0, K4 = 0; //Переменные для Рунге-Кутта 4го порядка
 
    cout << "Insert p: ";
    cin >> P;
    cout << "\n";
    cout << "Insert U: ";
    cin >> U;
    cout << "\n";
    cout << "Insert F: ";
    cin >> F;
    cout << "\n";
    cout << "Insert e: ";
    cin >> e;
    cout << "\n";
    cout << "Insert gamma: ";
    cin >> gamma;
    cout << "\n";
    cout << "Insert lmbda: ";
    cin >> lambda;
    cout << "\n";
    cout << "Insert t: ";
    cin >> t;
    cout << "\n";
 
    func = (F*(sqrt(P/U))) * (sin(gamma)*cos(lambda) + ((e*pow(cos(gamma), 2) + 2*cos(gamma) + e)/(1 + cos(gamma)))*sin(lambda)); // Функция
 
    K1 = func + t*func;
    cout << "Answer for K1: " << K1 << endl; //Элементы из формулы Рунге-Кутта, их вычисление
    K2 = func + 0.5*K1;
    cout << "Answer for K2: " << K2 << endl;
    K3 = func + 0.5*K2;
    cout << "Answer for K3: " << K3 << endl;
    K4 = func + K3;
    cout << "Answer for K4: " << K4 << endl;
 
    Runge = func + (K1 + K2 + K3 + K4)/6; // Вычисление Рунге-Кутта
    cout << "Answer for Runge-Kutt(4th): ";
    cout << Runge << endl;
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru