Форум программистов, компьютерный форум, киберфорум
Численные методы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 26
1

Не могу осилить метод Ньютона

23.09.2016, 21:07. Просмотров 652. Ответов 5

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

Есть уравнение, скрин прикрепил, есть формула Ньютона, она ниже.
Пытался решить сам, но у меня огромная брешь в математике. Одно тянется за другим как клубок. Старик Ньютон победил меня.

Не знаю как подставить свое выражение в метод ньютона, очень стыдно. Спасибо за ранее.
Итак, вот код С++, куда нужно подставить формулу Ньютона:

Кликните здесь для просмотра всего текста
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 <conio.h>
#include <math.h>
#include <iostream.h>
#define pi 3.14
 
double f(double x) {
 
    return   x*x-(cos(pi*x));
}
 
double f1(double x) {
 
    return   2*x+(1/x);
}
 
double f2(double x) {
 
    return   2+(-1/(x*x));
}
 
int main() {
    int n=0;
    double a,b,c,eps;
    cout<<"a="; cin>>a;
    cout<<"b="; cin>>b;
    cout<<"eps="; cin>>eps;
    if(f(a)*f2(a)>0) c=a;
    else c=b;
    do {
        c=c-f(c)/f1(c);
        n+=1;
    }
    while (fabs(f(c))>=eps);
        cout<<"c="<<c<<"\n";
        cout<<"n="<<n<<"\n";
        getch();
    return 0;
}
0
Изображения
 
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2016, 21:07
Ответы с готовыми решениями:

Метод Ньютона (не могу понять одну вешь)
Здравствуйте, дано задание по методам Ньютона. Его я уже сделал, но входе выполнения задания я...

Не могу осилить STP16CP05
всем привет, прошу помощи разобраться с STP16CP05... Предыстория такова: банальная подсветка...

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

Не могу осилить алгоритм проги
Радисту назначены два сеанса связи продолжительностью T1 и T2 соответственно. За время этих...

5
Модератор
Эксперт по математике/физике
5966 / 3786 / 1391
Регистрация: 09.10.2009
Сообщений: 7,106
Записей в блоге: 4
23.09.2016, 22:47 2
Если вы применяете метод сжимающих отображений для решения уравнения f(x)=0, то каждый раз должны вычислять функцию https://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi \left(x \right)=x-\frac{f\left(x \right)}{f'\left(x \right)}, пока после очередной итерации не станет выполнено https://www.cyberforum.ru/cgi-bin/latex.cgi?\left| \varphi \left(x \right)-x\right|<\varepsilon
У вас на рисунке одно уравнение (одна функция f), а в коде другая: https://www.cyberforum.ru/cgi-bin/latex.cgi?x^2-\cos \left(\pi x \right)
Ваша f1(x) (наверное) производная f(x). Но https://www.cyberforum.ru/cgi-bin/latex.cgi?\left( x^2-\cos \left(\pi x \right)\right)'=2x+\pi \sin\left(\pi x \right),а не то, что вы написали. Функция f2(x) не понятно, что означает. Вторая производная, которая здесь не нужна?
Короче, расшифруйте обозначения, чем другим ковыряться в коде и угадывать - напишите математические формулы, по которым вы делаете.
0
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 26
24.09.2016, 07:56  [ТС] 3
Добавлено через 1 минуту
Само уравнение: acos(x) - sqrt(1.0 - 0.3 * x * x * x);
1-я производная: 0.45 * x * x / sqrt(1 - 0.3 * x * x * x) - 1 / sqrt(1 - x * x);
2-я производная: x*(0.2*pow(x,3)/(-0.3*pow(x,3)+1)*3/2 + 0.9/(-0.3*pow(x,3) +1) - 1/(pow(-x,2)+1)*3/2
0
Модератор
Эксперт по математике/физике
4452 / 3419 / 1134
Регистрация: 30.07.2012
Сообщений: 9,763
24.09.2016, 14:29 4
slater, для набора математических выражений пользуйтесь Редактором формул (расположен ниже на странице).
Как работать в Редакторе формул...
0
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 26
24.09.2016, 16:13  [ТС] 5
Благодарю! Буду разбираться!
0
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 26
24.09.2016, 17:44  [ТС] 6
Извиняюсь за неточность!

Вот само задание: Решить уравнение методом Ньютона.

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

Вот верный код С++ (но неверные производные)

Кликните здесь для просмотра всего текста
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 <conio.h>
#include <math.h>
#include <iostream>
#define pi 3.14
using namespace std;
 
double f(double x) {
 
    return   acos(x) - sqrt(1.0 - 0.3 * x * x * x);
}
 
double f1(double x) {
 
    return  0.45 * x * x / sqrt(1 - 0.3 * x * x * x) - 1 / sqrt(1 - x * x);
}
 
double f2(double x) {
 
    return   0.9 / (1 - 0.3*pow(x, 3)) - 3 / 2 * (pow(x, 2) + 1) + 0.3*pow(x, 4) / 1 - 0.3*pow(x, 3);
}
 
int main() {
    int n = 0;
    double a, b, c, eps;
    cout << "a="; cin >> a;
    cout << "b="; cin >> b;
    cout << "eps="; cin >> eps;
    if (f(a)*f2(a)>0) c = a;
    else c = b;
    do {
        c = c - f(c) / f1(c);
        n += 1;
    } while (fabs(f(c)) >= eps);
    cout << "c=" << c << "\n";
    cout << "n=" << n << "\n";
    
    system("pause");
    return 0;
}
0
Миниатюры
Не могу осилить метод Ньютона   Не могу осилить метод Ньютона  
Изображения
 
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2016, 17:44

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

Логическая задача.Не могу осилить
Дана задача: По подозрению в совершенном преступлении задержали Брауна,Джона и Смита.Один из них...

не могу осилить два примера...
Помогите дорешать контрольную, осталось два задания: 1) Имеется массив А из N произвольных чисел...

Что-то я хук не могу осилить...
Раньше ни когда не пробовал работать с хуками (и с DLL тоже), но тут возникла необходимость...

Не могу осилить std::cout
Подскажите плз, почему у меня может не работать cout и std::cout. Пробую в Dev-C++ 5.11 ...


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

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

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