Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Метод дихотомии
СообщениеДобавлено: 30 сен 2018, 17:41 
Не в сети
Продвинутый
Зарегистрирован:
13 фев 2018, 15:50
Сообщений: 73
Cпасибо сказано: 7
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Вычислить методом Дихотомии корни уравнений с точностью 0.01
Начальный интервал корня [4,55;4,67]
[math]tg(4+x)^{2}+0,1x=0,2x^{2}[/math]

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод дихотомии
СообщениеДобавлено: 12 окт 2018, 07:28 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Отрезки корней странно определены. Но можно попробовать так:

program dichotomy      
implicit none
real, parameter :: eps = 1e-3 !Требуемая точность
real :: f, x1, x2, x_sr, y1, y2, y_sr, rezult
integer :: i

i=0
x1=4; x2=55 !Отрезок поиска

do while (abs (x2-x1) >= eps/2)
y1 = f(x1)
y2 = f(x2)
x_sr = (x1 + x2) / 2
y_sr = f (x_sr)
if (y1 * y_sr <= 0) then
x2=x_sr
else
x1=x_sr
end if
i=i+1
end do

rezult = (x1+x2)/2
write (*,*) "Корень уравнения = ", rezult
write (*,*) "Количество итeраций = ", i

end program dichotomy

function f(x) !Подпрограмма-функция
real, intent (in) :: x
f = tan(4+x)**2 + 0.1*x - 0.2*x**2
end function f


Код:
Корень уравнения =    7.30286789   
Количество итeраций =      17


Для отрезка 4-67 находится корень
Код:
Корень уравнения =    4.35351944   
Количество итeраций =      17

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод дихотомии
СообщениеДобавлено: 12 окт 2018, 15:23 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
09 авг 2018, 23:20
Сообщений: 1011
Cпасибо сказано: 32
Спасибо получено:
121 раз в 116 сообщениях
Очков репутации: 8

Добавить очки репутацииУменьшить очки репутации
Emphatic18
Ещё стоит определить, возрастает функция на интервале или убывает. Вот как Вы определили это apriori?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод дихотомии
СообщениеДобавлено: 14 окт 2018, 06:02 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Никак не определял, просто подставил заданные интервалы поиска. Ведь при использовании метода дихотомии, насколько я понимаю, нужно иметь отрезок функции пересекающей ноль, значит должен быть задан нужный интервал функции. Хотя я не сильный математик (работаю в другой области). Расскажите, для чего определять то о чем написали.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод дихотомии
СообщениеДобавлено: 14 окт 2018, 12:39 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
09 авг 2018, 23:20
Сообщений: 1011
Cпасибо сказано: 32
Спасибо получено:
121 раз в 116 сообщениях
Очков репутации: 8

Добавить очки репутацииУменьшить очки репутации
y_sr = f (x_sr)
if (y1 * y_sr <= 0) then
x2=x_sr
else
x1=x_sr
end if

Если функция не возрастала бы, а убывала, Ваш алгоритм перевёл бы решение в [math]x1[/math].

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод дихотомии
СообщениеДобавлено: 14 окт 2018, 14:33 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Не совсем понял Вас. Примем функцию Y= X*X-2 и найдем корень на участке 0...2, где функция возрастает. Находится корень

Корень уравнения = 1.41430664
Количество итeраций = 12

Изменим знак Y= -1* (X*X-2), теперь на том же участке 0...2 она убывает, находится тот же самый корень.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод дихотомии
СообщениеДобавлено: 15 окт 2018, 04:35 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
09 авг 2018, 23:20
Сообщений: 1011
Cпасибо сказано: 32
Спасибо получено:
121 раз в 116 сообщениях
Очков репутации: 8

Добавить очки репутацииУменьшить очки репутации
Emphatic18
Да, всё верно. Я не прочухал проверку на разнозначность
y1 * y_sr <= 0

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ Сообщений: 7 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Метод дихотомии

в форуме Численные методы

ilya2121

26

729

05 июн 2020, 15:41

Отделения корней методом дихотомии и параметр сходимости

в форуме Численные методы

neversleep

6

515

17 янв 2018, 13:49

Нахождение экстремума. Метод Фибоначчи и метод Хука-Дживса

в форуме Исследование операций и Задачи оптимизации

Hero525

0

764

01 апр 2014, 20:39

Метод последовательного исключения неизвестных, метод Гаусса

в форуме Линейная и Абстрактная алгебра

Viktoriya9977

0

363

18 дек 2018, 17:14

Метод мат.индукции

в форуме Дискретная математика, Теория множеств и Логика

cincinat

8

465

09 дек 2016, 10:25

Графический метод ЗЛП

в форуме Исследование операций и Задачи оптимизации

NadezhdaNNN

1

299

11 окт 2016, 08:55

Метод Гаусса

в форуме Линейная и Абстрактная алгебра

Normack

3

521

11 фев 2017, 20:07

Метод резолюции

в форуме Дискретная математика, Теория множеств и Логика

Asia fox

1

283

08 мар 2017, 22:24

Метод резолюции

в форуме Дискретная математика, Теория множеств и Логика

Asia fox

2

209

23 мар 2017, 20:29

Партан метод

в форуме Исследование операций и Задачи оптимизации

Aectannn

6

552

04 июн 2016, 22:47


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved