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

Нелинейное уравнение - C++

Восстановить пароль Регистрация
 
alex-rapro
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 42
08.07.2015, 17:22     Нелинейное уравнение #1
Доброго времени суток, форумчане. Помогите пожалуйста решить задачку:
Найти все корни функции f(x) на интервале [-1;3] методом хорд с погрешностью 0.001

Всем безоблачного лета
Изображения
 
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2015, 17:22     Нелинейное уравнение
Посмотрите здесь:

Решить нелинейное уравнение методом хорд и методом простой итерации C++
Нелинейное уравнение теплопроводности C++
C++ Дано уравнение ax2+bx+c=0. Решить уравнение, результат вывести на экран.
C++ 18. Написать программу, которая решает уравнение с одним неизвестным и выводит в консоль значение неизвестного. Уравнение посимвольно вводится с клави
Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена C++
Нелинейное уравнение: методы деления отрезка пополам и касательных C++
C++ Распарсить нелинейное уравнение и найти все его корни
C++ Решить нелинейное уравнение

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ture
 Аватар для ture
404 / 297 / 120
Регистрация: 27.11.2014
Сообщений: 1,004
08.07.2015, 18:39     Нелинейное уравнение #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
#include <iostream>
using std::cout;
using std::endl;
 
//Константы
const double START = -1.0;
const double STOP  = 3.0;
const double H     = 0.001;
 
double f(double);
 
int main(){
    setlocale(LC_ALL, "rus");
 
    double a = START, b = STOP, x, d;
 
    do{
        double ya = f(a);
        double yb = f(b);
        x  = a - (b - a)*ya / (yb - ya);
        double yx = f(x);
        if(ya*yx > 0){
            d = x - a;
            a = x;
        }
        else{
            d = b - x;
            b = x;
        }
    } while(d>H);
    
    cout << x << endl;
 
    system("pause");
    return 0;
}
 
double f(double x){
    return 5 * x*x*x - x*x / 3 + 4;
}
alex-rapro
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 42
08.07.2015, 18:41  [ТС]     Нелинейное уравнение #3
ture, спасибо
Yandex
Объявления
08.07.2015, 18:41     Нелинейное уравнение
Ответ Создать тему
Опции темы

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