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

Метод простых итераций. С/С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 121, средняя оценка - 4.64
riko
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 31
17.03.2012, 16:58     Метод простых итераций. С/С++ #1
Такое задание: написать алгоритм численного решения нелинейных уравнений методом простых итераций и реализовать его на языке программирования.
Сколько не читал и не искал инфу про данный метод, все никак не могу понять суть данного метода, отсюда и сложности в реализации на языке, в данном случае С/С++.
Поясните, пож-ста, суть данного метода, ну если можно приведите пример решения конкретной задачи.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 16:58     Метод простых итераций. С/С++
Посмотрите здесь:

C++ Метод простых итераций для СЛАУ
метод простых итераций C++
C++ Метод простых итераций для СЛАУ
C++ Метод простых итераций
Метод простых итераций C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,171
Завершенные тесты: 1
17.03.2012, 18:05     Метод простых итераций. С/С++ #2
уравнение f(x)=0 преобразуем к виду x=f2(x).
Итерации заключаются в том, что берем какое-то начальное x
вычисляем f2(x), результат снова подставляем вместо x, и.т.д.,
т.е f2(f2(f2(f2(x)))) пока x не перестанет меняться.
riko
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 31
17.03.2012, 18:24  [ТС]     Метод простых итераций. С/С++ #3
Спасибо за объяснение. можете привести пример?
Рустам777
 Аватар для Рустам777
3 / 3 / 0
Регистрация: 13.04.2011
Сообщений: 32
17.03.2012, 19:04     Метод простых итераций. С/С++ #4
Цитата Сообщение от riko Посмотреть сообщение
Спасибо за объяснение. можете привести пример?
вот Нахождение корней уравнения
riko
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 31
18.03.2012, 14:19  [ТС]     Метод простых итераций. С/С++ #5
Такой вопрос: как правильно записать код, который будет подсчитывать кол-во корней? В следующем коде пытался реализовать такую логику: Количество корней зависит от того, сколько раз ф-ция меняет свой знак.

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
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
 
    double function( double x ) {
       return (x-1)*(x+2)*(x-4);
    }
 
    void NumberOfRoots(double min, double max)
    {   int k=0;
           cout<<"Enter the number of intervals ";
           cin>>n;
//дальше проблема в цикле: зацикливается...
           for(int i = min; i <= max; i+((max-min)/n)){
        if (function(i)*function(i+(max-min)/n) <= 0) 
                   k++;
    }
    cout<<"Number of roots is "<<k<<endl;
    }
 
int main(){
    NumberOfRoots(-3, 5);
}
Подскажите, пож-ста, как переделать данный код.
Yandex
Объявления
18.03.2012, 14:19     Метод простых итераций. С/С++
Ответ Создать тему
Опции темы

Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru