Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
Bas916
1 / 1 / 0
Регистрация: 23.12.2010
Сообщений: 24
#1

Метод деления отрезка пополам для решения нелинейных уравнений (метод дихотомии)

15.11.2012, 13:22. Просмотров 4522. Ответов 4
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста дописать программу. Вот что вымучал, но на сдаче завалили, типо нет вывода корней, не рассмотрены различные случаи и тд.
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
#include <conio.h>
#include <math.h>
#include <iostream>
#include <fstream>
using namespace std;
double func(double x)
    {
        //return (x * x * x - x - 1);//уравнение
        return (x * x * x + 2 * x * x + 3 * x + 5);
    }
double dichotomy(double infinum, double supremum, double epsilon) {
        double x;
        while (supremum - infinum > epsilon) {
            x = (infinum + supremum) / 2;
            if (func(supremum) * func(x) < 0)
                infinum = x;
            else
                supremum = x;
        }
        return (infinum + supremum) / 2;
    }
int main () {
        freopen ("out.txt", "w", stdout);
        printf ("Хприближенное = %0.3f", dichotomy(-2,-1,0.001));
    }
Я с сишкой на Вы и шепотом, так что просьба сильно не пинать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 13:22
Ответы с готовыми решениями:

Исследовать итерационный метод- метод касательных для решения нелинейных уравнений
прочитал много всего , но сам пример реализовать никак не могу , кто может...

метод деления отрезка пополам и метод итерации
Методом деления отрезка пополам и методом итерации найти приближенное значение...

Метод деления отрезка пополам
Помогите!! Написать функцию,выполняющую поиск корня уравнения f(x)=0...

Визуальное программирование. Метод деления отрезка пополам
Приближенное нахождение решения уравнения f(x)=0 методом деления отрезка...

Минимум Функции (метод деления отрезка пополам)
Подскажите пожалуйста, Мне нужно найти методом деления отрезка пополам минимум...

4
vxg
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
15.11.2012, 14:49 #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
//------------------------------------------------------------------------------
//исключения
class bad_bracket_end_points {};
class too_many_iteration {};
//------------------------------------------------------------------------------
long root_iteration = 1000000;
//------------------------------------------------------------------------------
double dichotomic_root
(
    double (* const y)(const double &x),
    double x_min, double x_max,
    const double &dx, const double &dy
)
{
    double y_x_min = y(x_min);
    double y_x_max = y(x_max);
 
    double x_mid, y_x_mid;
 
    if (x_min >= x_max || (y_x_min > 0) == (y_x_max > 0))
        throw bad_bracket_end_points();
 
    long k = 0;
 
    do
    {
        x_mid = (x_min + x_max) / 2;
        y_x_mid = y(x_mid);
 
        if ((y_x_min > 0) == (y_x_mid > 0))
            x_min = x_mid;
        else
            x_max = x_mid;
 
        k++;
        if (k > root_iteration) throw too_many_iteration();
    }
    while (x_max - x_min > dx && fabs(y_x_mid) > dy);
 
    return x_mid;
}
1
Bas916
1 / 1 / 0
Регистрация: 23.12.2010
Сообщений: 24
15.11.2012, 16:33  [ТС] #3
Может кто-нибудь UI набросает еще простенький? На пивасик подкину Типо выбираешь какую функцию надо решить, и она выдает все корни и отрезки, которые были во время выполнения (пошаговые) и итоговый корень, с указанной погрешностью.
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
15.11.2012, 16:38 #4
Цитата Сообщение от Bas916 Посмотреть сообщение
Может кто-нибудь UI набросает еще простенький?
Зачем тебе это, если ты в ней не разберёшься? Учитель спросит же по всем прибамбасам. Лучше метод дихотомии ещё раз изучи.
0
Bas916
1 / 1 / 0
Регистрация: 23.12.2010
Сообщений: 24
15.11.2012, 16:56  [ТС] #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Зачем тебе это, если ты в ней не разберёшься? Учитель спросит же по всем прибамбасам. Лучше метод дихотомии ещё раз изучи.
Да она сама нифига не понимает Такое ощущение что ей индусский код нужен...

Добавлено через 6 минут
Так что по коду она спрашивать не будет, разве что в каком блоке что реализовано. Но с этим думаю разберусь Просто из-за работы времени не было, все откладывал на последнее время, а тут оказывается что завтра крайний срок сдачи лабы((
0
15.11.2012, 16:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 16:56

Метод Ньютона для решения системы нелинейных уравнений
Здравствуйте! Нужно решить методом Ньютона систему уравнений с точностью...

Метод хорд для решения системы нелинейных уравнений
Здравствуйте, задал вопрос по чисмету вот тут...

Метод Ньютона для решения системы нелинейных уравнений
Программа работает неверно. Пожалуйста, помогите найти ошибки. Спасибо. ...


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

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

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