Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
7 / 7 / 5
Регистрация: 06.10.2012
Сообщений: 140
1

Метод простых итераций

14.05.2013, 21:50. Просмотров 3292. Ответов 1
Метки нет (Все метки)

Здраствуйте! Нужно методом простой итерации решать такую систему нелинейных уравнений с точностью e=10-4 и найти погрешность.
Нашел на форуме 2 программы, помогите переделать пожалуйста одну из низ под мои уравнения
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio.h>
#include <cmath>
 
using namespace std;
 
double f(double x)
{
    return pow(x,2.0) - 20*sin(x);
}
 
int main()
{
    double a,b,eps,x,dx;
    do
    {
        std::cout<<"Enter diapazone[a;b] of iterations\r\n";
        std::cout<<"a = ";std::cin>>a;
        std::cout<<"b = ";std::cin>>b;
        std::cout<<"Enter accuracy e ";std::cin>>eps;
        //Шаг определяем по точности вычислений
        //Погрешность f(x[i]) - f(x[i - 1]) < x[i] - x[i - 1] = h
        dx = (b - a)*(eps/10);//Мин шаг точность/10
        x = a;
        //Вычисления останавливаем когда добиваемся
        //требуемой точности вычислений eps < fabs(f(x))
        //или же достигаем конца промежутка
        while(eps < fabs(f(x)) && x <= b)
            x += dx;
        if(b < x)
            std::cout<<"[a;b] isn't contain roots\r\n";
        else
        {
            std::cout<<"root      : "<<x<<"\r\n";
            std::cout<<"acuracy e : "<<fabs(f(x))<<"\r\n";
        }
        std::cout<<"Press Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}

Кликните здесь для просмотра всего текста
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
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
 
double f(double x)
{
    return pow(2.0,x) - 2*pow(x, 2.0) - 1;
}
 
double g(double x)
{
    return x + 0.5*f(x);
}
 
int main()
{
    double x;
    double eps;
    cout<<"Enter initial root value   : ";cin>>x;
    cout<<"Enter error of calculation : ";cin>>eps;
    for(double iter = 1; eps < fabs(f(x)); iter = iter + 1)
    {
        system("cls");
        //*Итераций может быть очень много, поэтому рекомендую забыть
        //о целых а использовать дабл как счётчик, хотя в принципе если 
        //решение не нашли за 10-100 итераций то решения для данного коэффициента
        //при f(x) в g(x) нет и надо его менять
        cout<<"Iteration : "<<setprecision(0)<<iter<<endl;
        cout<<"x    = "<<x   <<endl;
        cout<<"g(x) = "<<g(x)<<endl;
        cout<<"f(x) = "<<f(x)<<endl;
        x = g(x);
    }
    system("pause");
    return 0;
}

Само задание прикрепил
0
Изображения
 
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2013, 21:50
Ответы с готовыми решениями:

Посчитать количество проведенных итераций (метод простых итераций, Pascal -> C++)
перевести из паскаля в С++ program method_of_simple_iteration; uses crt; var a:array of real;...

Метод простых итераций
Дана функция 1.4 Cos - Log=0 Ее надо преобразовать к виду ф(x)=x, я не совсем понимаю как это...

Метод простых итераций. С/С++
Такое задание: написать алгоритм численного решения нелинейных уравнений методом простых итераций и...

Метод простых итераций
Систему решил ,получилось верно.Возникла одна проблема ,иксы которые я получил перемножить на...

1
7 / 7 / 5
Регистрация: 06.10.2012
Сообщений: 140
15.05.2013, 00:43  [ТС] 2
апну

Добавлено через 1 час 45 минут
еще раз апну
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2013, 00:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Метод простых итераций
Необходимо реализовать программно метод простых итерация для решения НУ. к примеру возьмём...

Метод простых итераций
Помогите с написанием программы на С++, нужно решить СЛАУ методом простых итераций. с точностью ...

Метод простых итераций для СЛАУ
Помогите пожалуйста! Нужно реализовать метод простых итераций для решения СЛАУ дана вот такая...

Метод простых итераций с заданной точностью на С++
Помогите пожалуйста,дано такое задание.Первую часть,с методом простых итераций смогла сделать,вот...

Метод простых итераций для СЛАУ
Здравствуйте! Пытаюсь реализовать метод простых итераций. Все функции, которые работают нормально,...

Метод простых итераций для СЛАУ
Доброго времени суток всем!!! решаю СЛАУ методом простых итераций, проблема вот в чем: не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.