Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 23.09.2010
Сообщений: 20
1

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

26.05.2011, 20:16. Показов 969. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, понимаю, что подобных тем на форуме уже выше крыши, но все таки создам)

Задача решить нелинейное уравнение методом Ньютона, программа решает всё нормально, только хочу сделать такую фишку, чтобы в консоли выводились сообщения о том, что на заданном отрезке либо отсутствует корень, либо их несколько, буду рад любой помощи, спасибо.



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 минут
ап темку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2011, 20:16
Ответы с готовыми решениями:

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

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

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

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

0
26.05.2011, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2011, 20:16
Помогаю со студенческими работами здесь

метод ньютона !
Помогите написать программу методом ньютона ! Вот моя формула f(x) x *tg(X)-1/3 и вот от нее...

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

Метод Ньютона
Найдите, пожалуйста, ошибку! #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt;...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru