0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 27
1

Решение нелинейного алгебраического уравнения методом итераций

12.11.2019, 18:40. Показов 978. Ответов 2

Необходимо решить нелинейное алгебраическое уравнение f(x)=x^3-4x+3=0 на отрезке [a,b] с точностью eps (значения a,b,eps вводятся пользователем) методом итераций. Начальное приближение использовать на отрезке [a,b]
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2019, 18:40
Ответы с готовыми решениями:

Решение нелинейного уравнения методом итераций
Я не знаю куда кидать, кто поможет сделать эту работу Программа должна вычислять корень...

Решение нелинейного уравнения методом итераций в с++
Помогите пожалуйста решить нелинейное уравнение x^2-2x-1 = 0 промежуток от 0 до 3. Находил...

Решение нелинейного уравнения методом простых итераций
f(x)=arcsin(2x+1)-x^2=0 , ошибок при компиляции нету , но при запуске выдаёт Asin: Domain Error и...

Решение нелинейного уравнения методом простых итераций
Здравствуйте, помогите пожалуйста написать программу для решения нелинейного уравнения методом...

2
Мозгоправ
1738 / 1032 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
12.11.2019, 22:13 2
hiro1o,
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <iomanip>
#include <cmath>
#include <stdexcept>
 
using namespace std;
 
double f(double x) {
    return x * x * x - 4.0 * x + 3;
}
 
typedef double (*pFunc)(double);
 
class FuncPoint { 
    double x, y;
    pFunc pf;
public:
    FuncPoint(pFunc _pf = nullptr) : x(0.0), y(0.0), pf(_pf) {
        if (pf)
            y = pf(x);
    }
    FuncPoint(double _x, double _y, pFunc _pf = nullptr) : x(_x), y(_y), pf(_pf) {
        if (pf)
            y = pf(x);
    }
    double getX() const { return x; }
    void setX(double _x) {
        x = _x;
        if (pf)
            y = pf(x);
    }
    double getY() const { return y; }
    void setY(double _y) {
        if (pf)
            throw logic_error("attempt to set dependent parameter");
        else
            y = _y;
    }
    pFunc getF() const { return pf; }
    void setF(pFunc _pf) {
        pf = _pf;
        if (pf)
            y = pf(x);
    }
};
 
double fixedPointIteration(pFunc pf, double a, double b, double eps) {
    FuncPoint p1(f), p2(f);
    p1.setX(a);
    p2.setX(b);
    if (p2.getY() * p1.getY() > 0.0)
        throw invalid_argument("root absent");
    double k = (p2.getY() - p1.getY()) / (p2.getX() - p1.getX());
    double xi = p2.getX();
    while (fabs(xi - p1.getX()) > eps) {
        xi = p1.getX();
        p1.setX(p1.getX() - p1.getY() / k);
        //cout << "Xi = " << xi << "    Xp = " << p1.getX() << "    delta = " << fabs(xi - p1.getX()) << endl;
    }
    return p1.getX();
}
 
int main()
{
    double x1, x2, eps, x;
    cout << "Enter x1:  ";
    cin >> x1;
    cout << "Enter x2:  ";
    cin >> x2;
    cout << "Enter eps: ";
    cin >> eps;
 
    try {
        cout << setiosflags(ios_base::scientific);
        x = fixedPointIteration(f, x1, x2, eps);
        cout << "\nroot = " << x << " f(x) = " << f(x) << endl;
    }
    catch (exception & e) {
        cout << "*** Exception: " << e.what() << endl;
    }
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 27
18.12.2019, 18:49  [ТС] 3
Можно как-то попроще?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2019, 18:49
Помогаю со студенческими работами здесь

Решение нелинейного уравнения методом простых итераций
как будет выглядеть код программы на С++ &quot;решение нелинейного уравнения методом простых итерации?&quot;

Расчёт корня нелинейного уравнения (Методом итераций)
Всем доброго дня очень нужно записать на С++ программу которая находит корень нелинейного...

Решение нелинейного уравнения методом перебора
Решить уравнение sin(1/x)=0 методом перебора на промежутке x = .

Решение нелинейного уравнения методом секущих
Окажите помощь,пожалуйста!! Помогите написать на Visual Studio 14.0, Нужно решить нелинейное...

Решение нелинейного уравнения методом итерации
Написал программу решение нелинейного уравнения методом итерации: //Метод итерации #include...

Решение нелинейного уравнения методом простой итерации
Помогите, пожалуйста! Нужно разработать программу для решения нелинейного уравнения методом простой...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru