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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.74
Artem23031992
1 / 1 / 0
Регистрация: 23.01.2010
Сообщений: 35
#1

метод хорд - C++

04.10.2010, 21:50. Просмотров 3349. Ответов 2
Метки нет (Все метки)

помогите решить уравнение
tg(0.4x+0.4)=x^2
методом хорд
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2010, 21:50     метод хорд
Посмотрите здесь:

МЕТОД ХОРД И КАСАТЕЛЬНЫХ C++
Комбинированный метод хорд и касательных C++
Комбинированный метод хорд и касательных. C++
C++ МЕтод хорд
C++ Комбинированный метод хорд и касательных
метод хорд C++
Метод хорд C++
C++ Метод хорд
C++ Метод хорд
Метод хорд, касательных, золотого сечения C++
C++ Метод хорд, бесконечный цикл
C++ Метод хорд в С++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
04.10.2010, 22:03     метод хорд #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Оригинал с википедии
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double f(double x)
{
    return sqrt(fabs(cos(x))) - x; // Заменить ф-ей, корни которой мы ищем
}
 
// a, b - пределы хорды, epsilon - необходимая погрешность
double findRoot(double a, double b, double epsilon)
{
    while(fabs(b - a) > epsilon)
    {
        a = b - (b - a) * f(b)/(f(b) - f(a));
        b = a - (a - b) * f(a)/(f(a) - f(b));
    }
 
    // a - i-1, b - i-тый члены
 
    return b;
}
На скорую руку перевел на паскаль:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var a, b, epsilon, r: real;
 
function f(x: real): real;
begin
f := sqrt(tg(0.4*x+0.4));
end;
 
function findRoot(a, b, epsilon: real): real;
begin
    while(fabs(b - a) > epsilon) do
    begin
        a := b - (b - a) * f(b)/(f(b) - f(a));
        b := a - (a - b) * f(a)/(f(a) - f(b));
    end;
 
    findRoot := b;
end;
 
begin
readln(a, b, epsilon);
r := findRoot(a, b, epsilon);
writeln(r);
readln;
end.
ТеМы4
0 / 0 / 0
Регистрация: 09.10.2010
Сообщений: 6
09.10.2010, 13:37     метод хорд #3
Помогите решить уровнения в С++
3.75+cos(x)+x-sin(3*x)
только через printf,scanf
Yandex
Объявления
09.10.2010, 13:37     метод хорд
Ответ Создать тему
Опции темы

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