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

Найти корень уравнения методом касательных - C++

Восстановить пароль Регистрация
 
antiquemusic
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 8
08.11.2013, 01:29     Найти корень уравнения методом касательных #1
Помогите пожалуйста! Нужно найти корень уравнения cos(x/2)*sin(x) + 1 = 0 методом касательных.

Вот моя попытка найти корень, но почему то результатов это не дает.

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>
#include <cmath>
 
using namespace std;
 
void main()
{
    double e;
    
    cout << "Enter e: ";
    cin >> e;
 
    double a, b;
    
    cout << "Enter a: ";
    cin >> a;
    cout << "Enter b: ";
    cin >> b;
 
    double h;
    double xn;
    xn = a;
    h = - (cos(xn/2)*sin(xn) + 1)/(((2*sin(2/xn)*sin(xn))/2) + (cos(2/xn)*cos(xn)));
 
    for(double i = a; i <= b; i += e)
    {
        if(cos((xn)/2)*sin(xn) + 1 == 0)
        {
            cout << i;
        }
        else 
        {
            h = - (cos(xn/2)*sin(xn) + 1)/(((2*sin(2/xn)*sin(xn))/2) + (cos(2/xn)*cos(xn)));
            xn = xn + h;
        }
    }
 
    system("pause");
 
}
Спасибо заранее за помощь!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
08.11.2013, 03:08     Найти корень уравнения методом касательных #2
Функция f(x) = cos(x/2)*sin(x) + 1 не имеет нулей:
Миниатюры
Найти корень уравнения методом касательных  
antiquemusic
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 8
08.11.2013, 03:21  [ТС]     Найти корень уравнения методом касательных #3
Цитата Сообщение от IrineK Посмотреть сообщение
Функция f(x) = cos(x/2)*sin(x) + 1 не имеет нулей:
а как мне тогда минимальное значение функции найти?
IrineK
Заблокирован
08.11.2013, 03:32     Найти корень уравнения методом касательных #4
Методом касательных (Ньютона) решается уравнение f(x) = 0, а не ищется минимум.

С другой стороны, в точке минимума первая производная = 0 (касательная параллельна ОХ), а вторая производная > 0 (ф-ция вогнута).
Yandex
Объявления
08.11.2013, 03:32     Найти корень уравнения методом касательных
Ответ Создать тему
Опции темы

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