|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,408
|
|||||||||||
C++ ЧМ Численное решение нелинейных уравнений24.02.2019, 13:01. Показов 7708. Ответов 11
Метки нет (Все метки)
Всем привет!
Задали численно решить нелинейное уравнение f(x) = cos(x) ^ 2 - 0.3 * cos(x) - 0.4 на интервале локализации корня от -3 до 3 включительно включительно. Точность 10e-5. Использовать методы бисекции, простой итерации, Ньютона и его модификаций. Я всё это сделал. Прошу Вас проверить, верно ли выполнено задание. Спасибо за ответы! Выходные данные Кликните здесь для просмотра всего текста
Бисекция 2,25000 2,12500 2,06250 2,09375 2,10938 2,10156 2,09766 2,09570 2,09473 2,09424 2,09448 2,09436 2,09442 2,09439 2,09441 2,09440 Метод Ньютона 2,07647 2,09452 2,09440 2,09440 Метод секущих 0,79495 1,21825 0,60362 0,64924 0,64345 0,64350 0,64350 Метод Стеффенсена 2,10581 2,09449 2,09440 2,09440 Метод Ложного положения 2,10416 2,09275 2,09466 2,09435 2,09440 2,09439 Метод Простой итерации 0,75602 0,86802 1,08993 1,49912 2,02362 2,12104 2,08288 2,09914 2,09240 2,09523 2,09405 2,09454 2,09433 2,09442 2,09438 2,09440 2,09439 2,09440 2,09439 Код методов Кликните здесь для просмотра всего текста
Код вызова методов Кликните здесь для просмотра всего текста
Скрины
0
|
|||||||||||
| 24.02.2019, 13:01 | |
|
Ответы с готовыми решениями:
11
Численное решение системы линейных уравнений Решение нелинейных уравнений Решение нелинейных уравнений |
| 24.02.2019, 17:15 | |
|
Уважаемый SomniPhobia,
ваше уравнение имеет 4 корня. Два положительных и два отрицательных. Расположены корни симметрично относительно начала координат, но вот в вашем решении не видно их вывода. Такое решение не может быть признано полным, а значит и правильным.
1
|
|
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,408
|
|
| 24.02.2019, 17:39 [ТС] | |
|
Уважаемый нтч, спасибо за замечание.
Мне каждым из методов искать по 4 корня? Ход решения верен (работа методов)?
0
|
|
| 24.02.2019, 18:19 | |
|
SomniPhobia,
фактически вам надо найти 2 положительных корня x = x1 и x = x2. остальные 2 корня будут иметь вид x = -x1 и x = -x2 Поэтому необходимо разделение положительных корней и их вычисление по отдельности. А вывести все четыре. Ведь задача "решить уравнение" означает найти все четыре корня и вывести их на экран. Ход решения? Следует проконтролировать сходимость методов к нужному корню. Иначе говоря, если итерации расходятся (значения выходят из интервала, в котором лежит корень), то должен быть предусмотрен поиск нового начального значения ... примечание в основном сбои могут быть у метода Последовательных приближений. Метод Ньютона тоже может доставить хлопот. Добавлено через 5 минут SomniPhobia, вы можете сильно упростить свою задачу, если сделаете подстановку cos(x) = z, то получите квадратное уравнение Решив это уравнение (любым методом) найдете и x = arccos(z).
1
|
|
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,408
|
|
| 24.02.2019, 18:39 [ТС] | |
|
нтч, спасибо!
Подумаю над Вашими словами. В методе Простой итерации не могу подобрать параметры так, чтобы отловить все 4 корня. Однако посредством этого найдены корни 2,09439 и -0,64350, Вы говорите их можно отзеркалить и будет набор из всех 4 - ёх корней. В остальных методах удалось найти все 4 корня каждым методом. Как я могу сравнивать методы по количеству итераций, если методы разнородные и я к каждому искал свой подход - свои начальные значения, которые сказываются на количестве итераций? Добавлено через 2 минуты После выполнения программы в файл data_x.txt было записано Кликните здесь для просмотра всего текста
Бисекция 2,25000 2,12500 2,06250 2,09375 2,10938 2,10156 2,09766 2,09570 2,09473 2,09424 2,09448 2,09436 2,09442 2,09439 2,09441 2,09440 0,65000 0,57500 0,61250 0,63125 0,64063 0,64531 0,64297 0,64414 0,64355 0,64326 0,64341 0,64348 0,64352 0,64350 0,64351 -0,65000 -0,57500 -0,61250 -0,63125 -0,64063 -0,64531 -0,64297 -0,64414 -0,64355 -0,64326 -0,64341 -0,64348 -0,64352 -0,64350 -0,64351 -2,25000 -2,12500 -2,06250 -2,09375 -2,10938 -2,10156 -2,09766 -2,09570 -2,09473 -2,09424 -2,09448 -2,09436 -2,09442 -2,09439 -2,09441 -2,09440 Метод Ньютона 2,07647 2,09452 2,09440 2,09440 0,64241 0,64350 0,64350 -0,65320 -0,64352 -0,64350 -0,64350 -2,09905 -2,09440 -2,09440 Метод секущих 0,79495 1,21825 0,60362 0,64924 0,64345 0,64350 0,64350 -0,54904 -0,25478 -0,67008 -0,63767 -0,64347 -0,64350 -0,64350 -0,00584 2,14535 2,66522 2,09459 2,09440 2,09440 0,00584 -2,14535 -2,66522 -2,09459 -2,09440 -2,09440 Метод Стеффенсена 2,10581 2,09449 2,09440 2,09440 0,64541 0,64350 0,64350 -0,66492 -0,64363 -0,64350 -0,64350 -2,09408 -2,09440 -2,09440 Метод Ложного положения 2,10416 2,09275 2,09466 2,09435 2,09440 2,09439 0,63911 0,64344 0,64350 0,64350 -0,63911 -0,64371 -0,64349 -0,64350 -0,64350 -2,10416 -2,09399 -2,09441 -2,09439 -2,09440 Метод Простой итерации 0,75602 0,86802 1,08993 1,49912 2,02362 2,12104 2,08288 2,09914 2,09240 2,09523 2,09405 2,09454 2,09433 2,09442 2,09438 2,09440 2,09439 2,09440 2,09439 -0,63038 -0,64419 -0,64346 -0,64350 -0,64350 Добавлено через 3 минуты Ничего что значения из некоторых методов получается 2,09439, из других 2,09440 при требуемой точности 10e-5?
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||||
| 24.02.2019, 22:09 | ||||||
|
Второй этап это локализация корня. Рубите на 100 интервалов внутри границ -3 3. Находите все интервалы где разные знаки f(x). Решаете каждым методом нужные интервалы.
1
|
||||||
| 25.02.2019, 08:21 | |
|
Уважаемый SomniPhobia,
применение численных методов решения уравнения, не отменяет и применение аналитических методов к этому уравнению. Например в методе Ньютона приходится использовать производную. Если можно, то ее находят аналитически. А нет, то - численно. В вашем случае есть симметричные корни - используйте это свойство. Мало того, если можно решение свести к известным аналитическим методам, то почему бы ими не воспользоваться. ... примечание Универсальных вычислительных методов нет. Тот же метод Ньютона не сработает там, где уравнение имеет корень четной кратности. То есть график функции только касается оси икс, не пересекая ее. Или к примеру график может своей частью совпасть с осью икс. Или производная в точке корня может не существовать (кривая ломанная). Или корня может и не быть - А график покажет, что корень есть! И такое бывает. Вы умный человек, вам могут надавать кучу разных советов. Разберитесь сами в том что вам нужно, а что - нет. Со временем будет и опыт в решении уравнений.
1
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||
| 25.02.2019, 10:00 | ||||
|
Если вы не в курсе вопроса тогда зачем советуете глупости?
0
|
||||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,408
|
|||||||||||
| 25.02.2019, 11:14 [ТС] | |||||||||||
|
Я имею ввиду, что интервал локализации корня 2.09439 один человек может задать как от 2. до 2.5, другой от 1.5 до 2.25. И как его задашь, итераций будет разное количество, а по заданию ещё нужно вывод сделать, какой из методов за меньше проходов вычисляет корни. Я не могу все методы поставить в одни и те же условия, чтобы выдать требуемое заключение. А как быть с методом ложного положения, там вообще точка левая берётся, там закономерность есть, как её брать чтобы найти все корни на том или ином интервале?
0
|
|||||||||||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,408
|
|
| 25.02.2019, 11:22 [ТС] | |
|
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||||||
| 25.02.2019, 12:09 | |||||||
Сообщение было отмечено SomniPhobia как решение
РешениеНужно запускать время расчета когда все участки где есть решения локализованы в массив. Так честно. Любой решатель можно сломать при желании.
0
|
|||||||
| 25.02.2019, 12:58 | ||
|
Вот пример уравнения, в котором весь интервал (-1; 1) является решением |x -1| + |x + 1| = 2. Да, корней бесчисленное множество. И как тут поможет к примеру метод дихотомии? А вот другой пример sin(x) + 1 = 0 Функция слева никогда не будет отрицательной - Метод дихотомии не работает.
0
|
||
| 25.02.2019, 12:58 | |
|
Помогаю со студенческими работами здесь
12
Решение нелинейных уравнений
Решение нелинейных уравнений и систем Решение системы нелинейных уравнений Решение систем нелинейных уравнений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|