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

Метод бисекций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно исправить ошибку(и) в программе с записями!!Очень надо!) http://www.cyberforum.ru/cpp-beginners/thread143596.html
Суть задания: Ломанная линия из N сигментов в трёх мернов пространстве заданна массивом записей(x,y,z) задающих N+1 узловюНаписать фун-ю б преобразующую i-ую запись узла в вид(r,fi,tt),где r - это расстояние от(i-ого)узла до(i);fi - угол между сигментом( образованным (i)-ым и (i-1) -м узлами) и осью OX;tt - это угол между сигментом и осью OX. На основе этой функции написать ф-ию,преобразующую...
C++ Является ли симол буквой или цифрой Задан ряд символов. Определить количество символов, которые не являются буквами или цифрами , и напечатать их. я пробовал чтото сделать с прогой но прога почемуто активно не хочет даже толком считать их int count(char str) {while (str) { (ispunct(str)); cx++; i++; l++; } } http://www.cyberforum.ru/cpp-beginners/thread143577.html
дана матрица порядка n C++
помогите пожалуйста!!зачет! Пусть дама целочисленая матрица порядка n . Найти номера строк элементы которых образуют симметричные последовательности зараннее спасибо!!
Конструкто копирования(вызов) C++
#include <iostream> using namespace std; class copyr { int x; public: copyr() {x=0;} copyr(int i) {x=i;} ~copyr() {}
C++ Как компилятору указать директорию заголовочных файлов. http://www.cyberforum.ru/cpp-beginners/thread143551.html
Мне надо на Visual Studio 2010 Ultimate. Нужно указать директорию заголовочных файлов DirectX'а.
C++ Константные объекты #include <iostream> #include <windows.h> using namespace std; class CTest { public: int A,B; CTest(int Aval,int Bval)const { подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.06.2010, 09:56     Метод бисекций
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
typedef double (*doublefdouble) (double);
double abs (double x)
{
 if (x<0.0)
 {
  return -x;
 }
 return x;
}
double Bisec (double a, double b, double Epsilon, doublefdouble Func)
{
 double c;
 c=(a+b)/2;
 if (abs(b-a)<Epsilon)
 {
  return c;
 }
 if (Func(c)*Func(a)<=0.0)
 { 
  return Bisec(a,c,Epsilon,Func);
 }
 return Bisec(c,b,Epsilon,Func);
}
Добавлено через 3 минуты
Задача:
Есть функция, вычисляющая левую часть уравнения вида f(x)=0. Известны a и b, такие, что:
1 a<=x<=b, на отрезке [ab] уравнение имет один корень, или
2 b<=x<=a, на отрезке [ba] уравнение имет один корень.
Надо решить уравнение с точностью до Epsilon.

Добавлено через 1 минуту
Способ применения:
C++
1
Bisec(a,b,Epsilon,f); // Вместо f подставить имя функции, вычисляющей левую часть уравнения. Значение Bisec - искомый корень.
Добавлено через 4 минуты
Например,
C++
1
2
3
4
double hhklk(double x)
{
 return x*x-1;
}
C++
1
2
3
double x;
x=Bisec(0.0,20.0,0.01, hhklk); 
// Здесь x уже равен корню уравнения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru