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

Вычислить методом Ньютона корни уравнения с заданной точностью

04.10.2018, 20:58. Показов 4564. Ответов 2

Author24 — интернет-сервис помощи студентам
Задание такое: Вычислить методом Ньютона корни уравнения cos(x)-3x+1=0 с заданной точностью eps.
Написал код, уверен в нём,только почему-то всегда выводит y=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
#include "pch.h"
#include <iostream>
#include <cmath>
using namespace std;
double y, f, fa, fb, k, x, e;
int main()
{
    setlocale(LC_ALL, "rus");
    cout << "Веедите x\n" << "x= ";
    cin >> x;
    cout << "Введите e\n" << "e= ";
    cin >> e;
    f = cos(x) - 3 * x + 1;
    fa = -sin(x) - 3;
    fb = cos(x);
    for (k = 0;abs(f) < e;k = k++)
    {
        y = f - f / fa;
    }
    cout << "y= " << y <<"\n";
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2018, 20:58
Ответы с готовыми решениями:

Найти корни уравнения методом Ньютона с произвольной точностью
Найти корни уравнения y = f(x) методом Ньютона. Точность подбирается самостоятельно. Формулы для...

Найти корни уравнения на указанном промежутке с заданной точностью (метод Ньютона)
Добрый вечер! Помогите пожалуйста с лабой. Написать программу по нахождению корня уравнения...

Найти корни уравнения методом Ньютона
Задание Найти корень уравнения с помощью указанного метода return pow(0.2*(x),3)-cos(x)...

Уточнить корни уравнения в заданном диапазоне с погрешностью методом Ньютона
Уточнить корни уравнения в заданном диапазоне с погрешностью E &lt; 10 -3 методом Ньютона: ...

2
1453 / 828 / 216
Регистрация: 10.02.2018
Сообщений: 3,443
05.10.2018, 08:34 2
Мой вариант:
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
const int N = 10;
 
//Функция для полинома:
double F(double x)
{
 return cos(x) - 3 * x + 1;
 }
//Функция поиска корня:
 
double FindRoot(double (*f)(double),double x0,int n)
{
 double x = x0,df,h = 0.00001;
 
 df=(f(x + h) - f(x)) / h;
 
 for(int i = 1; i <= n;i++)
 {
  x = x - f(x) / df;
 }
 
return x;
}
int main()
{
//Начальное приближение и корень:
double x0,x;
cout << "initial x0 = ";
cin >> x0;
//Поиск решения:
x = FindRoot(F,x0,N);
cout << "x = " << x << endl;
return 0;
}
0
642 / 444 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
05.10.2018, 08:55 3
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
#include <iostream>
#include <cmath>
using namespace std;
double  f, fa, x, e;
int main()
{
setlocale(LC_ALL, "rus");
cout << "Веедите x\n" << "x= ";
cin >> x;
cout << "Введите e\n" << "e= ";
cin >> e;
//x=1;
//e=0.00001;
f = cos(x) - 3 * x + 1;
while(abs(f)>e)
{
    f = cos(x) - 3 * x + 1;
    fa = -sin(x) - 3;
    x = x - f / fa;
cout << "x= " << x <<"\n";
}
cout << "Конечное решение х= " << x <<"\n";
system("pause");
return 0;
}
0
05.10.2018, 08:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2018, 08:55
Помогаю со студенческими работами здесь

Определить корни уравнения методом итерации с точностью 0,001
Определить корни уравнения методом итерации с точностью 0,001

Найти все корни уравнения на заданном интервале [a;b] с заданной точностью
Закрепление практических навыков по работе с функциями. В ходе выполнения работы необходимо...

Найти решение уравнения на отрезке с точностью е методом Ньютона
найти решение уравнения x3 – 2x2 –4x + 7 = 0 на отрезке с точностью е методом Ньютона. ...

Нахождение корня уравнения x^3 - 2x^2 - 4x + 7 = 0 на отрезке [-3, 3] с точностью еps методом Ньютона
найти решение уравнения x3 – 2x2 –4x + 7 = 0 на отрезке с точностью е методом Ньютона....


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

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