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

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

Войти
Регистрация
Восстановить пароль
 
Альбина_7
1 / 1 / 0
Регистрация: 31.03.2014
Сообщений: 13
#1

Метод половинного деления для функции от двух переменных - C++

24.07.2014, 19:36. Просмотров 1217. Ответов 11
Метки нет (Все метки)

Это программа для функции от одной переменной, а можно этот же метод использовать для функции от двух переменных, например?

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
#include <iostream>
#include <cmath>
using namespace std;
const double epsilon = 1e-2;
 
double f(double x)
{
return 4- exp(x) - 2*x^2;
}
 
int main()
{
double a, b, c;
a = 0;
b = 2;
while (b - a > epsilon){
c = (a + b) / 2;
if(f(b) * f(c) < 0)
a = c;
else
b = c;
}
cout « (a + b) / 2 « endl;
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2014, 19:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод половинного деления для функции от двух переменных (C++):

Нахождения корней уравнения: метод половинного деления (бисекции) или метод хорд - C++
Разработать программу нахождения корней уравнения f(x) =0 на интервале с точностью e = 0,001 (интервал или подобрать самостоятельно). При...

Метод половинного деления - C++
Здравствуйте, многоуважаемая аудитория данного форума. И не сосчитать сколько раз киберфорум меня выручал. Надеюсь на вашу помощь еще раз. ...

Метод половинного деления - C++
Методом половинного деления найти решение следующих нелинейных уравнений с точностью e=0.01 e=0.001; e=0.0001;e=0.00001; e=0.00001; ...

Метод половинного деления - C++
Методом половинного деления найти решение следующего нелинейного уравнения с точностью е=0,01; e=0,001; e=0,0001; e=0,00001; e=0,000001. ...

Метод половинного деления. - C++
Нужно написать программу вводишь любые цифры она их сортирует по возрастанию и показывает использовать &quot;метод половинного...

Метод половинного деления - C++
необходимо было написать программу, которая отделяет корни уравнения методом половинного деления с погрешностью 0,0001. первый корень...

11
zss
Модератор
Эксперт С++
6711 / 6273 / 2092
Регистрация: 18.12.2011
Сообщений: 16,370
Завершенные тесты: 1
24.07.2014, 19:40 #2
Для 2 переменных нужно решить уравнение относительно какой-либо из них,
получится функциональная зависимость y=f(x)
0
Альбина_7
1 / 1 / 0
Регистрация: 31.03.2014
Сообщений: 13
24.07.2014, 20:44  [ТС] #3
А можно без решения уравнения?
0
zss
Модератор
Эксперт С++
6711 / 6273 / 2092
Регистрация: 18.12.2011
Сообщений: 16,370
Завершенные тесты: 1
24.07.2014, 21:08 #4
Можете построить таблицу значений.
Задаете значение первой переменной в каком-то интервале с каким-то шагом.
И находите поочередно решения уравнения для второй переменной.
Естественно все решения таким образом не найти. Их бесконечно много.
0
salam
171 / 152 / 16
Регистрация: 10.07.2012
Сообщений: 753
25.07.2014, 20:12 #5
метод применим для любой монотонной функции и только для них.

Добавлено через 1 минуту
в общем случае (функция многих переменных, монотонность не гарантируется) лучше использовать, например, градиентный спуск.
0
zss
Модератор
Эксперт С++
6711 / 6273 / 2092
Регистрация: 18.12.2011
Сообщений: 16,370
Завершенные тесты: 1
25.07.2014, 21:13 #6
salam, Градиентный спуск используется для нахождения экстремума,
а не для решения уравнения.
0
salam
171 / 152 / 16
Регистрация: 10.07.2012
Сообщений: 753
25.07.2014, 21:29 #7
прошу прощения, был невнимателен.
0
Альбина_7
1 / 1 / 0
Регистрация: 31.03.2014
Сообщений: 13
28.07.2014, 22:36  [ТС] #8
Спасибо за ответы, вроде разобралась.
Хотела еще спросить, как в программе прописывать формулы. Например: http://www.cyberforum.ru/cgi-bin/latex.cgi?\xi (t)=\frac{\sum_{j=0}^{M-1}\C_{M-1}^{j}{(-1)}^{j}*\frac{{t}^{M+j}}{(M+j)}}{\sum_{k=0}^{M-1}\C_{M-1}^{k}{(-1)}^{k}*\frac{1}{M+k}}
0
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
28.07.2014, 22:49 #9
Цитата Сообщение от Альбина_7 Посмотреть сообщение
Хотела еще спросить, как в программе прописывать формулы. Например:
функция pow - возведение в степень, эти большие штуковины (забыл как называются) - сумма, просто в цикле находить, в остальном простые арифметические действия...
0
Альбина_7
1 / 1 / 0
Регистрация: 31.03.2014
Сообщений: 13
29.07.2014, 00:03  [ТС] #10
А как написать сумму сочетаний.(т.е http://www.cyberforum.ru/cgi-bin/latex.cgi?\C_{2}^{j}- это сочетание 2 по j)
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{j=0}^{2}\C_{2}^{j}
0
zss
Модератор
Эксперт С++
6711 / 6273 / 2092
Регистрация: 18.12.2011
Сообщений: 16,370
Завершенные тесты: 1
29.07.2014, 08:14 #11
http://www.cyberforum.ru/cgi-bin/latex.cgi?\C_{n}^{k}= n!/( k! * (n-k)! )

p.s. n!=1*2*3*....*n
0
KRTONE
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 31
12.12.2015, 23:18 #12
А могли бы вы предоставить обществу сделанную программу?
0
12.12.2015, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2015, 23:18
Привет! Вот еще темы с ответами:

Метод половинного деления - C++
Добрый вечер! значит так господа, помогите реализовать этакий метод вот в таком случае: вводится число и надо вычислить его корень...

Метод половинного деления в си++ - C++
Листинг программы метода половинного деления на си++ для функции:tgx-1/3(tgx)^3+1/5(tgx)^5-1/3=0?

Метод половинного деления - C++
Нужно решить код методом половинного деления. ответ неправильный выдается. Может кто-то подсказать, в чем ошибка? #include &lt;iomanip&gt; ...

Метод половинного деления - C++
Не пойму в чем ошибка, поскажите:wall: #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;graphics.h&gt; using namespace std; const int...


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

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

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