Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2013, 02:44   #1
EugeneNK
 
Регистрация: 25.01.2012
Сообщений: 3
Восклицание метод Ньютона для решения нелинейных уравнений

Вечер добрый.
Мне было дано такое задание: реализовать метод Ньютона для решения нелинейных уравнений, чтобы в итоге на экран выводилось: значение неизвестной, количество итераций, потребовавшихся для нахождения решения, а также время затраченное на нахождения ответа.
Я попробовал написать:
Код:
//#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;

float f (float);
float df (float);
int main(int argc, char* argv[])
{
    float x0,xk,a,b,e;
    int  count = 0;
    cout<<"Vvedite à:"<<endl;
    cin>>a;
    cout<<"Vvedite b:"<<endl;
    cin>>b;   
    cout<<"Vvedite x0:"<<endl;
    cin>>x0;   
     cout<<"Vvedite e:"<<endl;
    cin>>e;
    while ( fabs(xk-x0)> e )
    {
        xk=x0-((f(x0))/(df(x0))) ; 
        cout << count <<"-iter = " << xk << endl;
        count++; 
    }
    getch();
    system("pause");
    return 0;
}
float f (float x)
{
    // func
    return (exp(x)+ x*x -2);

}

float df (float x)
// dif funk
{
    return (exp(x)+ 2*x );
}
Но проблема в том, что цикл получается бесконечный и в связи с этим с количеством итераций проблема. Подскажите, пожалуйста, как исправить? И Что добавить, чтобы выводило время в наносекундах?
EugeneNK вне форума Ответить с цитированием
Старый 21.06.2013, 10:50   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Скажите, а где у Вас инициализируются xk и x0 до первого использования, если речь идет о цикле, нужно понимать с чем он работает, с какими значениями. Судя по коду, переменные инициализируются "мусором".
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработать прикладное дополнение для решения нелинейных уравнений методом Ньютона или касательных на языке С++ kameliya Помощь студентам 0 08.11.2011 01:31
Решить систему нелинейных уравнений методом ньютона Vint7_2009 Помощь студентам 8 06.12.2009 11:14
Решение нелинейных уравнений матодом Ньютона Гудвин Помощь студентам 1 09.10.2009 12:02
Метод простых итерации для нелинейных уравнений. Подскажите где ошибка DuHbka Помощь студентам 15 31.05.2009 22:46
Программа для решения ситем нелинейных уравнений Appolinaria Помощь студентам 1 09.03.2009 18:53