![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Dukalis |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 22.4.2008 Репутация: нет Всего: нет |
Здравствуйте, кто поможет и скинет у кого может есть код (С, С++), решение нелинейных уравненией методом дихотомии (он же Метод деления отрезка пополам или метод бисекции)
.Спасибо Извините , я не там тему создал, модераторы можете пожалуйста перекинуть тему в раздел Помощи, спасибо. Это сообщение отредактировал(а) Dukalis - 25.5.2008, 14:22 |
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: нет Всего: 18 |
Ну а что тут особого?
Насколько я себе представляю метод деления пополам, предполагается, что функция f(x) - монотонна на отрезке [a;b], на котором и ищут её корень (ну и непрерывна, естественно). Пусть для определённости функция f(x) возрастает, тогда имеем такой код:
|
|||
|
||||
| _shef_ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 8.6.2007 Репутация: нет Всего: 1 |
Простите, ноя позволю себе уточнить код
Иначе возможно что решение не будет найдено. |
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: нет Всего: 18 |
_shef_
Почему? Если функция, как я написал, возрастает, то можно просто f(m) > 0. Вот если функция монотонна, но неизвестно, как именно - тогда да, надо f(m) f ®. Разве я не прав? Добавлено через 2 минуты и 14 секунд Да, кстати. После цикла есть смысл проверить, действительно ли найденное l является корнем (просто посчитать f(l)). А то, если корня всё-таки не существует, то получится палево. |
|||
|
||||
| _shef_ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 8.6.2007 Репутация: нет Всего: 1 |
maxdiver
Да Вы конечно правы. Просто у нас учат студентов решать в общем случае, когда не известно возрастает или убывает функция. Согласитесь что это более правильно, а то придется сначала искать производные. А по поводу отсутствия решения - у нас обычно в задании дают интервал на котором оно гарантированно существует. Иначе придется сначала изолировать корень. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |