![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
marwell |
![]() ![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
Составить программу для решения нелинейного уравнения f(x)=0 методом половинного деления. В качестве f(x) взять функцию, указанную ниже. На выбранном интервале [a, b] корень должен быть единственным (отделенным). В качестве исходных данных, задаваемых в начале программы или вводимых из файла или с экрана, следует взять:
1) Границы интервала [a, b], на котором ищется корень; 2) Точность вычислений еps; В качестве результатов работы программы представить: 1) Корень уравнения; 2) Значение функции в корне; 3) Количество реально проведенных итераций; 4) График функции f(x). unit Unit1;Корень находит, проблема вот в чем: 1.Неверно считает количество итераций, всегда выдает равным единице. 2.проблема с графиком: я не понимаю, как, с какими данными его начать строить? буду рад помощи Сообщение отредактировано: marwell - 21.05.2010 10:51 |
Ozzя |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата с какими данными его начать строить Цитата Границы интервала [a, b], Цитата как В Drkb есть тема Рисуем график функции в Delphi |
marwell |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
а с первым пунктом не можешь помочь?
|
Ozzя |
![]()
Сообщение
#4
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата а с первым пунктом не можешь помочь? Что-то с алгоритмом не так. У меня выплевывает сразу из цикла |
marwell |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что-то с алгоритмом не так. У меня выплевывает сразу из цикла Есть функция f(x), есть интервал [a,b], есть условие, что на концах промежутка функция имеет разный знак: f(a)*f(b)<0. Требуется найти с заданной точностью eps корень этой функции. Поступаем так: выбираем середину отрезка [a,b]. Если в середине функция имеет тот же знак что и слева, то принимаем середину за новую левую границу, в противном случае - за правую. Повторяем до тех пор, пока отрезок не станет меньше eps. Правильно? |
Ozzя |
![]()
Сообщение
#6
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
uses sysutils; |
marwell |
![]()
Сообщение
#7
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
uses sysutils; но ведь у меня тот же алгоритм ![]() сорри, нашел ошибку Сообщение отредактировано: marwell - 19.05.2010 18:36 |
Ozzя |
![]()
Сообщение
#8
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это я ошибся. Извини.
Численные методы решения уравнений Сравни со своим Добавлено через 3 мин. Нашел ошибку? |
marwell |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это я ошибся. Извини. Численные методы решения уравнений Сравни со своим Добавлено через 3 мин. Нашел ошибку? ...неверное условие поставил Сообщение отредактировано: marwell - 19.05.2010 18:44 |
TarasBer |
![]()
Сообщение
#10
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> неверное условие поставил
Не только. fa не меняется. Метод по ссылке считает значение функции по два раза внутри цикла. А можно обойтись одним.
-------------------- |
marwell |
![]()
Сообщение
#11
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
With Image1.Canvas do написал, как понял. У кого есть время, посмотрите пожалуйста... |
![]() ![]() |
![]() |
Текстовая версия | 12.07.2025 17:25 |