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

Нужна помощь в проверки правельности алгоритма - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ задача на действительные числа. http://www.cyberforum.ru/cpp-beginners/thread375306.html
Дано действительное число a. Для функции f(x), график которой представлен на рисунке, вычислить f(a).
C++ RegEx Первая обработка Доброго времени суток. Начал изучать регулярные выражения. Но ничего не могу понять, как оно все работает. Пожалуйста, покажите на простом примере, как можно, например строку "образец !@#с разными$ %непонятными символами^&*()!\"№;%:?* строки" отпарсить, чтобы в ней были только буквы и пробелы? Зарание, огромное спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread375300.html
C++ перегрузка операций С++
Доброй ночи. Товарищи помогите пожалуйста, нужно срочно сдать лабораторную, а я никак не освою новый материал, негде даже нормальных примеров глянуть. Нужно написать программу, содержащую 4-5 классов (не важно каких и что в них есть), и перегрузить в каждом классе свою операцию (любую). Очень надеюсь на вашу помощь, спасибо!
[C++] Массивы и ссылки. C++
Здравстуйте, подскажите, как можно изменить эти программу, чтобы там была ссылка на массив? #include <iostream> #include <conio.h> using namespace std; int main() { setlocale (LC_ALL,"Rus"); int i, n, j, q, МинЭлем, Сумма; float Массив;
C++ vector<vector <bool> > http://www.cyberforum.ru/cpp-beginners/thread375278.html
vector<vector <bool> > v1; bool v2 = { {1,1}, {1,1}, }; как v1 присвоить v2? Добавлено через 1 минуту в c++11 есть вписки инициализации для векторов,
C++ Цикл for(int k=0;k<6;k++) { for(int i=0;i<6;i++) { { if (left.sum==left.new_mas) { } else подробнее

Показать сообщение отдельно
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
31.10.2011, 12:42  [ТС]     Нужна помощь в проверки правельности алгоритма
Цитата Сообщение от Deviaphan Посмотреть сообщение
А по алгоритмы сказать нечего, т.к. я не знаю что за алгоритм и кода функции F в листинге нету.
"Методы Рунге — Кутты — важное семейство численных алгоритмов решения обыкновенных дифференциальных уравнений и их систем. Данные итеративные методы явного и неявного приближённого вычисления были разработаны около 1900 года немецкими математиками К. Рунге и М. В. Куттой.

Формально, методом Рунге — Кутты является модифицированный и исправленный метод Эйлера, они представляют собой схемы второго порядка точности. Существуют стандартные схемы третьего порядка, не получившие широкого распространения. Наиболее часто используется и реализована в различных математических пакетах (Maple, MathCAD, Maxima) стандартная схема четвёртого порядка. Иногда при выполнении расчётов с повышенной точностью применяются схемы пятого и шестого порядков. Построение схем более высокого порядка сопряжено с большими вычислительными трудностями. Методы седьмого порядка должны иметь по меньшей мере девять стадий, в схему восьмого порядка входит 11 стадий. Хотя схемы девятого порядка не имеют большой практической значимости, неизвестно, сколько стадий необходимо для достижения этого порядка точности. Аналогичная задача существует для схем десятого и более высоких порядков."
Пример F, поскольку для различных задач F разная.
C++
1
2
3
4
void F(double t, double *K, double dY[]) { //y''(t) + y(t) = 0 (y'' = 2-ая производная.
        dY[0] = K[1];
        dY[1] = -K[0];
    }
Ну и соответственно использование:
C++
1
2
3
4
5
6
7
8
9
10
int main() {
    RUNGE_KUTTA rk4(2);
    double K0[2] = {0, 1};
    rk4.SET_TERM(0, K0);
    for(int i = 0; i < 10; i++) {
        cout << rk4.GET_TIME() << " " << rk4.K[0] /*Искомое решение*/ << " " << rk4.K[1] /* i - ая производная*/ << endl;
        rk4.STEP_IN(0.01);
    }
    return 0;
}
Добавлено через 4 минуты
При решении этим методом ОДУ N-го порядка входными данными являются:
а) числа:
N - порядок ОДУ
K - число узлов сетки
h - шаг сетки x[k]
x[0], y[0], y'[0], ..., y^(N-1)[0] - начальные условия
б) функция:
f(x, y, y', ..., y^(N-1)) - правая часть ОДУ

В примере который я привел K = 10, h = 0.01, N = 2, а правая часть ничто иное как F(...);
 
Текущее время: 15:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru