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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Yanou
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 7
#1

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

13.05.2012, 16:15. Просмотров 228. Ответов 0
Метки нет (Все метки)

Здраствуй народ! Написал программу решения транц уравнения методом половинного деления. Например чтобы решить уравнение 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++
Напишите функцию,которая решает линейное уравнение ax+b=0 и записывает результат в переменную передаваемую по ссылке. В случае нахождения...

Обосновать решение уравнения - C++
Имеется формула 1-\frac{1}{2^2}+\frac{1}{3^2}-\frac{1}{4^2}+\frac{1}{5^2}-\frac{1}{6^2}+......\pm \frac{1}{n^2}. Есть код: #pragma...

Решение линейного уравнения - C++
Надо написать программу решения линейного уравнения. Входные данные поступают с клавиатуры. Предусмотреть обработку ошибок. Установить...

Решение нелинейного уравнения - C++
1. Написать программу нахождения приближенного решения нелинейного уравнения: -методом деления отрезка пополам -методом касательных ...

Решение нелинейного уравнения - C++
Помогите кто нибудь решить нелинейное уравнение , неделю пытаюсь все никак не получается если можно скиньте код с++ очень надо Спасибо ...

Решение матричного уравнения AX=B - C++
Помогите пожалуйста! Нужна программа для решения матричного уравнения AX=B

Решение уравнения с 9 переменными - C++
C++ сам знаю плохо, увы. Но решил воспользоваться им, чтоб решить задачку Кольцевой хеш (Rolling hash) по алгоритму рабина карпа. Вот сам...

Решение нелинейного уравнения - C++
Добрый вечер, никак не могу понять как реализовать на C++ решение следующего нелинейного уравнения относительно a: a =...

Записать решение уравнения - C++
нужно решение этого уравнение на языке с++: w\, =\, \cos \left(\frac{{z}^{2}+{x}^{2}}{4+y} \right)


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

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

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