Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
KollinZ
3 / 3 / 2
Регистрация: 18.11.2009
Сообщений: 33
1

метод дихотомии

13.05.2011, 23:31. Просмотров 2246. Ответов 3
Метки нет (Все метки)

следуя примеру из machinelearning вот что получилось:
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
34
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "sourcecode.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
 
double f(double x)
{
    return pow(x,2)-4*x-10;
}
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
double a,b,c,eps;
a = Edit1->Text.ToDouble();
b = Edit2->Text.ToDouble();
eps = Edit3->Text.ToDouble();
 
while (fabs(a-b)>=eps){
    c=(a+b)/2;
    if(f(b) * f(c) < 0)
    a = c;
    else
    b = c;
}
Edit4->Text = (a + b) / 2;
}
проверьте пожалуйста, какие недочеты есть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 23:31
Ответы с готовыми решениями:

Метод дихотомии
Здравствуйте уважаемые пользователи! Мне нужна программа на C++ Builder,...

Программа Дихотомии для нахождения корней (курсовая)
Программа Дихотомии для нахождения корней Проверьте,правильно ли я написал её ...

Нужно заменить в исходном коде метод горизонтального луча на метод углов
#pragma package(smart_init) #pragma resource &quot;*.dfm&quot; TForm1 *Form1; #include...

метод отражений(метод Хаусхолдера
Добрый день, товарищи программисты. Обращаюсь к вам за помощью. Задали написать...

Метод деления отрезка пополам для решения нелинейных уравнений (метод дихотомии)
Здравствуйте. Помогите пожалуйста дописать программу. Вот что вымучал, но на...

3
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
14.05.2011, 00:12 2
Цитата Сообщение от KollinZ Посмотреть сообщение
Edit4->Text = (a + b) / 2;
C++
1
Edit4->Text = FloatToStr((a + b) / 2);
0
KollinZ
3 / 3 / 2
Регистрация: 18.11.2009
Сообщений: 33
14.05.2011, 00:26  [ТС] 3
Цитата Сообщение от Sasha Посмотреть сообщение
C++
1
Edit4->Text = FloatToStr((a + b) / 2);
а какие либо условия еще нужны?
0
gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
28.10.2011, 19:22 4
KollinZ, Лучше использовать вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
double f(double x0)
{
    return 0.6*pow(1.5,x0)-2.25*x0;
}
    double xp=NRxp->Text.ToDouble();
    double xk=NRxk->Text.ToDouble();
    double E=NRe->Text.ToDouble();
    y0 = f(xp);
    y = y0;
    while(fabs(y) > E)
    {
        x = (xp + xk) / 2;
        y = f(x);
        if(y * y0 > 0)
        {
            xp = x;
        }
        else
        {
            xk = x;
        }
    }
    Memo1->Lines->Add(x);
Добавлено через 44 секунды
Ниже код кнопки!
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2011, 19:22

Метод половинного деления (дихотомии) и метод Ньютона
Помогите кто может сделать задачу!!! Методом половинного деления(дихотомии), и...

Метод дихотомии (как метод оптимизации)
Нужно написать программу решения метода дихотомии (как метод оптимизации) на...

метод дихотомии
f(x)=-2x^2-\frac{16}{x}\rightarrow max использовать метод дихотомии ...


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

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

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