Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
sadomy
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 4
1

Найти все корни функции f(x) на интервале [-1;1] методом дихотомии с погрешностью 0.02. f(x)= (e^x)-arccos(x)

09.07.2015, 10:41. Просмотров 490. Ответов 3
Метки нет (Все метки)

Найти все корни функции f(x) на интервале [-1;1] методом дихотомии с погрешностью 0.02. f(x)= (e^x)-arccos(x).
Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 10:41
Ответы с готовыми решениями:

Корни методом дихотомии
Необходимо найти корни методом дихотомии, F(x)=x^3-3*x^2+x-10, с точностью...

Найти все корни уравнения на заданном интервале
Помогите написать программу буду очень признателен) В ходе выполнения...

Уточнить корни уравнения в заданном диапазоне с погрешностью методом Ньютона
Уточнить корни уравнения в заданном диапазоне с погрешностью E < 10 -3...

Найти все корни уравнения на заданном интервале [a;b] с заданной точностью
Закрепление практических навыков по работе с функциями. В ходе выполнения...

Вычисление значений функции y=arccos(x) на определенном интервале
Создать класс для вычисления значения функции y=arccos(x) на допустимом...

3
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
10.07.2015, 19:52 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
# include <stdio.h>
# include <math.h>
double f (double x);
double dixi(double(*f)(double), double a, double b, double eps){
    while (b - a > eps){
        double c = (a + b) / 2.0;
        if(f(a) * f(c) <= 0)
            b = c;
        else
            a = c;
    }
    return (a + b) / 2;
}
 
int main (){
    printf("%lf", dixi(func,-1.0, 1.0, 0.02 ));
    return 0;
}
double func (double x)
{
    return exp(x)-acos(x);
    //return x*x*x;
}
Он работает только тогда, когда корень есть.
Для определения факта наличия (или области локализации) корня тоже есть другие методы
0
sadomy
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 4
13.07.2015, 09:55  [ТС] 3
почему то в 16 строке выдает ошибку(
0
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
13.07.2015, 21:57 4
поменяйте 3 строку double func (double x);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2015, 21:57

Использование стандартных функций (найти все корни уравнения на заданном интервале [a;b] с заданной точностью)
Необходимо создать программу, которая находит все корни уравнения на заданном...

Найти корни уравнения на заданном интервале
Численным методом найти корни уравнения 5x5 – 44x3 + 4.5x2 =12. 1.Найти корни...

Найти все корни функции на интервале методом дихотомии
Приветствую, друг! Дело такое, работу нужно сдать через сутки, а у меня никак...


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

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

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