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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структуры ( Вывести в новый файл список студентов,удалив из него студентов окончивших школу в текущем году) http://www.cyberforum.ru/cpp-beginners/thread865269.html
На основе данных входного файла составить список студентов, включив следующие данные: ФИО,год рождения,домашний адрес,какую школу окончил. Вывести в новый файл список студентов,удалив из него студентов окончивших школу в текущем году. код написал, работает не корректно помогите пожалуйста разобраться. #include "stdafx.h" #include<iostream> #include<fstream> #include<iomanip> using...
C++ Вывод графика cos = x/2 Надо что бы показывал график cos = x/2, не пойму почему не получаться, спасибо за помощь #define _WIN32_WINNT 0x0501 #include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cstring> #include <windows.h> http://www.cyberforum.ru/cpp-beginners/thread865268.html
Поиск библиотеки XML сериализатора C++
Привет! Может крутится у кого на уме какая нибуть библиотечка сериализации классов в xml файл или ещё куда....например в shared memory ?
C++ Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями
1)Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент. Помогите пожалуйста
C++ Замена первой буквы на заглавную http://www.cyberforum.ru/cpp-beginners/thread865256.html
здравствуйте, помочите с созданием функции: надо поменять первую букву каждого слова на заглавную в строке в стиле Си
C++ копирование строк ребят, не подкажете как скопировать строку из искомой, начиная с символа а и заканчивая символом б? #include "stdafx.h" #include <iostream> #include <string> #include <conio.h> #include <windows.h> #define ID_ESC (0x1B) using namespace std; int main(){ подробнее

Показать сообщение отдельно
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140

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

14.05.2013, 21:50. Просмотров 1289. Ответов 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;
}

Само задание прикрепил
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru