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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование с использованием структур http://www.cyberforum.ru/cpp-beginners/thread304885.html
помогите с программкой пожалуйста: При поступлении в университет лица, получившие оценку «неудовлетворительно» на первом экзамене, ко второму экзамену не допускаются. Считая фамилии абитуриентов и их...
C++ Время жизни временного объекта std::ostringstream os; std::string* str = &os.str(); //временный объект "живёт" только в этом выражении // до работы RVO (return value optimization)... http://www.cyberforum.ru/cpp-beginners/thread304870.html
C++ Какую среду выбрать?
Собираюсь начать изучение C++. Подскажите, какую среду разработки лучше выбрать и почему?
C++ наследование классов
Работаю в с++ билдер.. программа вылетает при запуске.. после того, как сделал наследование.. В чем проблема? Как решить? Вот код: //Основной класс class Tell { private: AnsiString a,b; ...
C++ массив http://www.cyberforum.ru/cpp-beginners/thread304857.html
Дан одномерный массив, состоящий из N целочисленных элементов 1. Заполнить массив случайными числами. 2. Найти максимальный положительный элемент. 3. Вычислить произведение элементов массива....
C++ Дано целое число K. Найти сумму его цифр сделать в виде цикла помогите( подробнее

Показать сообщение отдельно
omenufa
1 / 1 / 0
Регистрация: 23.09.2010
Сообщений: 20

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

25.05.2011, 20:49. Просмотров 989. Ответов 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] - отрезок.

какие будут условия у производных можете подсказать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru