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

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

09.07.2015, 10:41. Просмотров 461. Ответов 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) на интервале [-1;1] методом дихотомии с погрешностью 0.02. f(x)= (e^x)-arccos(x) (C++):

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

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

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

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

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

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

3
vua72
417 / 417 / 166
Регистрация: 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
417 / 417 / 166
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

Найти все корни функции на интервале методом дихотомии
Численное решение нелинейных уравнений. Найти все корни функции f(x) на...

Найти корни функции на заданном интервале методом дихотомии (деления отрезка пополам). функция Sin(x)/Ln(x) на интервале [-10,-9.2]
Найти корни функции на заданном интервале методом дихотомии (деления отрезка...


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

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

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