Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Найти корень уравнения методом простой итерации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить определённый интеграл методом тропеций http://www.cyberforum.ru/cpp-beginners/thread552101.html
помогите пожалуйста ни как не пойму как реализовать вычисление интеграла
C++ Матрицы: процедура случайной перестановки строк в матрице Уважаемые, помогите пожалуйста написать процедуру случайной перестановки строк в матрице. Работа с битовой последовательностью http://www.cyberforum.ru/cpp-beginners/thread552097.html
C++ Организовать список
Организовать список у которого элементами являются массив из трех строковых переменных, заполнить его последовательно введенными строками с фамилиями именем и отчеством. Создать методы, которые...
прочитать произвольные данные из стандартного ввода и записывает его в файл C++
Привет ребята! Есть задания на C (оригинальное условие): A Program that reads arbitrary data from stdin and writes it to a file. Программа, которая читает произвольные данные из стандартного ввода...
C++ Решение квадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread552078.html
Нужно сделать программу для решения уровнения Оно имеет вид a*x^2+b*x+c>0 ---------------------- #include <vcl.h> #include <math.h> #pragma hdrstop #include "qwerty.h"
C++ В массиве вещественных чисел найти ближайшее к какому-нибудь целому. Пусть х1=0.3; х2=-0.3; хi=i+sin(xi-2), i=3, 4, … Среди х1, …, х100 найти бли- жайшее к какому-нибудь целому. Не могу никак понять как найти это число. Помогите.. На С++ подробнее

Показать сообщение отдельно
l7tu4ka
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 6

Найти корень уравнения методом простой итерации - C++

18.04.2012, 20:45. Просмотров 1017. Ответов 0
Метки (Все метки)

Дано уравнение acos(x)-x2, корень нужно найти на интервале [-1,1].
Я уже пробовал много разных вариантов, но остановился на таком(он хоть что-то выдает).
Правда результат не очень утешительный:

Enter the beginning of segment -> -1
Enter the ending of segment -> 1
2.14159 -1.#INF
-1.#IND -1.#IND
Result = -1.#IND

Собственно код:
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
#include <iostream>
#include <math.h>
using namespace std;
void main()
{
    float proiz,fx,x,b,m=0,M=0;
    cout<<" Enter the beginning of segment -> ";
    cin>>x;
    cout<<" Enter the ending of segment -> ";
    cin>>b;
    proiz=(-1)/sqrt(1-x*x)-2*x;
    if(proiz>0)
    {
        m=(-1)/sqrt(1-x*x)-2*x;
        M=(-1)/sqrt(1-b*b)-2*b;
    }
    do
{
        fx=acos(x)-x*x;
        cout<<fx<<"     ";
        x=x-(2*(fx/(M+m)));
        cout<<x<<"      "<<endl;
    }
while(abs(fx)>0.000001);
    cout<<"Result = "<<x<<endl;
    system ("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru