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

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

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

Дополнить код, метод Ньютона. - C++

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

с условиями пока не разобрался

Добавлено через 23 часа 29 минут
ап темку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2011, 20:16     Дополнить код, метод Ньютона.
Посмотрите здесь:

Исправить код метод Ньютона для решения систем нелинейных уравнений под нужное условие - C++
Данный код для решения системы ax+tg(xy)=0; (y^2-b^2)+lnx=0 Перепишите его,пожалуйста для системы 2x-y-10=0 5x^2-20y^2-100=0 ...

Дополнить код - C++
Добрый день, есть вот такой вот код, который позволяет ввод информации о маршрутном такси (номер, стоимость, вид транспорта), где стоимость...

нужно дополнить - исправить код - C++
Понимаю, что задач вроде не сложная, но никак не получается переделать код. Я решил задачу , которую выкладывал ниже, про кол-во...

Связные списки, дополнить код - C++
Прошу помочь, учусь на заочке и поэтому все очень сложно.. Есть код программы которая создает связный список элементов и позволяет...

Метод Ньютона - C++
Написать программу для решения: x^3-\sin{x}=0

Метод Ньютона - C++
Привет всем! Найти 3 корня методом Ньютона: f(x)=tan(2.2082*x) - 3.2258*x. Вроде программу написала по алгоритму, но что то не так....

метод Ньютона - C++
Дано уравнение f(x)=0. Найти с точностью e корень уравнения содержащиеся на отрезке . Составить программу для нахождения корня по методу...

Метод ньютона - C++
Не могу понять, как сделать. Кто может, хотя бы примерно как его сделать: Уравнение: sqrt(1-0,4*x*x)-arcsin(x)=0 Отрезок, содержащий...

Метод Ньютона - C++
Добрый вечер, помогите с работой. Написать программу нахождения корней системы нелинейных уравнений методом Ньютона(касательных): ...

Метод Ньютона - C++
Отделить любой действительный корень ур-ия f(x)=0 и вычислить его методом Ньютона с точностью e=10^-4. Ур-ие : arccos(x^2)-x

Метод Ньютона - C++
Ребят, прохожу Делфи и матан в МАИ. Мне дали задание написать программу для вычисления Метода Ньютона по методичке. Я не очень понимаю, что...

метод ньютона ! - C++
Помогите написать программу методом ньютона ! Вот моя формула f(x) x *tg(X)-1/3 и вот от нее сложная производная F'(X) tg(x)+x*cos(x)^2 !


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

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

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