Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Alena_b
0 / 0 / 0
Регистрация: 01.10.2017
Сообщений: 6
1

Решение уравнения методом касательных (метод Ньютона) в С++, С

01.10.2017, 23:17. Просмотров 1733. Ответов 2

Доброго времени суток. Помогите решить методом касательных уравнение:
1/x - 2*x=0
Напечатать решение, невязку, ширину интервала на последней итерации и количество итераций, нужных для достижения заданной точности

Буду благодарна за помощь!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2017, 23:17
Ответы с готовыми решениями:

Решение уравнения c методом касательных (Ньютона)
На интервале с точностью Е(Е > 0) определить значение одного корня уравнения: tg(7x) +...

Решение уравнения методом Ньютона (касательных)
решить уравнение методом Ньютона на матлаб:ln(x)+(x+1)^3

Решение нелинейного уравнения методом Ньютона (касательных)
Здравствуйте! Прошу вашей помощи в решении нелинейного уравнения методом Ньютона. Уравнение:...

Решение нелинейного уравнения методом Ньютона (касательных)
Решить пожалуйста уравнение 8e^(-8t) * sin(8t+0,9)=1, методом касательных . Для отделения...

2
ForceGuard
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
01.10.2017, 23:50 2
1
2
3
1
woldemas
569 / 386 / 197
Регистрация: 06.09.2013
Сообщений: 1,125
Завершенные тесты: 2
02.10.2017, 07:09 3
Alena_b,
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define MAX_ITERATIONS_COUNT 100
 
// Очень эффективный расчет функции и ее производной
void evaluate(double x, double *f, double *df) {
    *df = 1.0 / (x * x);
    *f = (*df - 2.0) * x;
    *df = -*df - 2.0;
}
 
// Сам метод Ньютона
int newton_iterations(double *x, double threshold, FILE *logg) {
    double f, df, dx;
    size_t i = 0;
    evaluate(*x, &f, &df);
    while (fabs(f) > threshold) {
        dx = - f / df;
        *x += dx;
        evaluate(*x, &f, &df);
        i++;
        if(i > MAX_ITERATIONS_COUNT) {
            if(logg) fputs("Достигнуто максимальное число итераций", logg);
            return 0;
        }
    }
    if(logg) fprintf(logg, "Корень : %lf\nНевязка : %lf\nКоличество Итераций : %lu", *x, f, i);
    return 1;
}
 
 
 
int main(void)
{
    double root = 42.0;
    newton_iterations(&root, 1e-3, stdout);
}
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2017, 07:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Решение уравнений с одной переменной методом Ньютона (метод касательных)
1. Отделить корни уравнения графическим способом. 2. Отделить корни уравнения аналитическим...

Найти корень нелинейного уравнения F(x)=0 методом касательных (метод Ньютона). Крайние значения предела ([a,b]) содержащий корень и погрешность (\epsi
Найти корень нелинейного уравнения F(x)=0 методом касательных (метод Ньютона). Крайние значения...

Трансцендентные уравнения. Метод Ньютона(касательных)
Добрый день, всем форумчанам. Вот такой вопрос. Мне бы литературы подкинуть где описывают...

Найти корень уравнения методом Ньютона или касательных
Дана блок-схема по которой нужно составить программу на VBA Я написала программу, но у мне...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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