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

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

Войти
Регистрация
Восстановить пароль
 
omenufa
1 / 1 / 0
Регистрация: 23.09.2010
Сообщений: 20
#1

Метод Ньютона решения НУ, знаки производных - C++

25.05.2011, 20:49. Просмотров 979. Ответов 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <iostream>
 
using namespace std;
 
#define pi 3.141592653587973
 
double f(double x) {
 
        return   cos(x);
}
 
double diff(double x) {
 
        return   -sin(x);
}
 
double diff2(double x) {
 
        return   -cos(x);
}
 
int main() {
    setlocale(LC_ALL,"rus_rus.1251");
        int n=0;
        double a,b,x,xt,eps=1e-6;
A:      cout<<"Введите левую границу отрезка \'a\'="; cin>>a;
        if(!cin.good()){
            cout<<"Ошибка! Введите левую границу заново!"<<endl;
            _flushall();
            cin.clear();
            _getch();
            goto A;}
B:      cout<<"Введите правую границу отрезка \'b\'="; cin>>b;
        if(!cin.good() || b<=a){
            cout<<"Ошибка! Введите правую границу заново!"<<endl;
            _flushall();
            cin.clear();
            _getch();
            goto B;}
        x=a;
        do{
            n++;
            xt=x;
            x=-f(x)/diff(x)+x;
            cout<<"["<<n<<"]="<<x<<endl;
                if(f(x)*diff2(a)>0) a=x;
                else b=x;
        }
    
        while (fabs(x-xt)>=eps);
                cout<<"x="<<x<<endl;
                getch();
        return 0;
}
Добавлено через 37 минут
пробую проверить знаки первой и второй производных на заданном отрезке:
diff - первая производная, diff2 - вторая производная, [a;b] - отрезок.

какие будут условия у производных можете подсказать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2011, 20:49     Метод Ньютона решения НУ, знаки производных
Посмотрите здесь:

C++ Програмно организовать метод решения интеграла методом Ньютона
C++ не по теме: производная для решения НУ методом Ньютона
Решения метода Ньютона C++
C++ метод ньютона !
Метод Ньютона C++
C++ Метод Ньютона
метод Ньютона для решения системы нелинейных уравнений C++
C++ Метод Ньютона для решения нелинейных уравнений: узнать количество итераций
Метод Конечных Разностей для уравнения в частных производных C++
Найти решения нелинейного уравнения численным методом Ньютона C++
C++ Метод Ньютона
Исправить код метод Ньютона для решения систем нелинейных уравнений под нужное условие C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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