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

Решение транцседентного уравнения! - C++

Восстановить пароль Регистрация
 
Yanou
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 7
13.05.2012, 16:15     Решение транцседентного уравнения! #1
Здраствуй народ! Написал программу решения транц уравнения методом половинного деления. Например чтобы решить уравнение sin (x)=1 нужно сначала задать границы отрезка например а=0,b=pi/2 (1.57) и точность эпсилон e=0.0001. Так вот программа работает правильно, когда задаешь границы от нуля до пи пополам и какой нибудь точностью - ответ выдает правильный - 1.5657... а при задании грагиц например от 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
24
25
26
27
28
29
30
31
32
33
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
 
double f(double x) // наша функция
{
double y=sin(x)-1;
return y;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0,"Rus"); // рус. яз
    double a,b,e,x;
     ifstream in("1.txt");
      in>>a>>b>>e; // считываем границы и точность
  do
          {
              x=(a+b)/2; // берем середину очередного отрезка
                if ((f(a)*f(x))>0) // Если значения функции в точках а и х одного знака 
                    a=x; // в качестве след отрезка берем правую половину
                else
                    b=x; // в качестве след отрезка берем левую половину
          }
  while (fabs(b-a)>2*e); // пока нужная точность не будет достигнута
    ofstream off("exit.txt"); // вывод в выходной файл exit.txt
       off<<"Решение уравнения: "<<x;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 16:15     Решение транцседентного уравнения!
Посмотрите здесь:

C++ Решение уравнения
решение уравнения C++
Решение уравнения C++
C++ решение квадратного уравнения С++
Решение уравнения C++
Решение уравнения C++
Решение уравнения C++
C++ Решение уравнения

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru