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

Автоматический выбор шага и метод Рунге-Кутта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получение значения из функции http://www.cyberforum.ru/cpp-beginners/thread1206762.html
Здравствуйте! Помогите понять что делаю не так. Очевидно неправильно возвращаю значение из функции, но как правильно реализовать не могу додуматься. Есть такой вот класс: class CSystemApi {...
C++ Не работает вывод двумерного массива через метод класса При обращении к методу getStringSymbol и getAllStrings прога вылетает, помогите пожалуйста #include "stdafx.h" #include "iostream" #include "string.h" #include "stdio.h" #include "locale" ... http://www.cyberforum.ru/cpp-beginners/thread1206760.html
C++ Массивы указателей
Помогите пожалуйста решить задание, буду очень благодарен! Стек моделируется при помощи динамического массива указателей на линейные массивы размерности N целых. Указатель стека – два индекса – в...
Рекурсия. Разместить на доске мин. количество коней так, чтобы все фигуры противника находились «под боем» C++
Здравствуйте прошу вашей помощи, нужно решить задачу. Буду очень благодарен. На шахматной доске имеется N фигур противника. Разместить на ней минимальное количество коней так, чтобы все фигуры...
C++ Вывести значения элементов, расположенных между min и max элементами односвязного списка http://www.cyberforum.ru/cpp-beginners/thread1206729.html
Наработки оставил в учебном заведении поэтому не могу скинуть наработки. Помогите с задачей пожалуйста! Условие:"Создать односвязний линейный список, элементами которого являются натуральные...
C++ Вывод из файла Доброго времени суток, уважаемые форумчане!!! Я вот с какой проблемой обращаюсь к вам: Имеется программа записи данных в файл (Запись происходит корректно, в файле вводимые данные отображаются)... подробнее

Показать сообщение отдельно
GODofART
2 / 2 / 0
Регистрация: 19.11.2011
Сообщений: 52

Автоматический выбор шага и метод Рунге-Кутта - C++

13.06.2014, 00:11. Просмотров 3817. Ответов 8
Метки (Все метки)

Имеется такое вычисление диф. уравнения методом Рунге-Кутты:
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
#include <iostream>
using namespace std;
float fun(float x, float y)
{
    return x*x + y*y;
}
 
void run_kut(float a, float b, float y0, int n)
{
    float x, y, x1, y1, h, k1, k2, k3, k4;
    x = a;
    y = y0;
    h = (b - a) / n;
    for (int i = 0; i<n; i++)
    {
        k1 = h*fun(x, y);
        x1 = x + h / 2;
        y1 = y + k1 / 2;
        k2 = h*fun(x1, y1);
        y1 = y + k2 / 2;
        k3 = h*fun(x1, y1);
        x += h;
        y1 = y + k3;
        k4 = h*fun(x, y1);
        y += (k1 + 2 * k2 + 2 * k3 + k4) / 6;
        cout << "x[" << i + 1 << "]=" << x << "\t" << "y[" << i + 1 << "]=" << y << "\n";
    }
}
void main()
{
    setlocale(LC_ALL, "Russian");
    int n;
    float a, b, y0;
    system("Cls");
    cout << "Ведите начало a="; cin >> a;
    cout << "Ведите конец b="; cin >> b;
    cout << "Ведите начальное положение y0="; cin >> y0;
    cout << "Ведите число разбиений n="; cin >> n;
    cout << "\nМетод Рунге-Кутты:\n";
    run_kut(a, b, y0, n);
    cout << "\n";
    system("pause");
}
Необходимо дописать автоматический выбор шага(n).
Сколько бы не пытался гуглить и разобраться с мат. стороны и со стороны кода - так и не получилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru