Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 22, 2020 16:42:50

GGneBYDET
Зарегистрирован: 2020-04-22
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение уравнений методом перебора

Windows
Python 3.8

Напишите программу, которая находит все решения заданного вам уравнения на интервале - 5 ; 5 (включительно). Программа должна выполнить следующие действия:

Определяет и выводит на экран интервалы, на которых расположены корни уравнения.

На каждом интервале, используя метод перебора, ищет решение с точностью 0,001 и выводит полученные решения на экран.

Вычисление функции, стоящей в левой части уравнения, оформите в виде подпрограммы.

Уровень B. Составить две программы (можно одну), одна из которых выделяет все интервалы, на которых находятся корни, а вторая запрашивает левую границу очередного интервала и выводит найденный корень уравнения.

ГЛАВНОЕ, ЧТОБЫ РАБОТАЛО СЛЕДУЮЩИЕ:
Программа может быть не универсальной, можно не вводить уравнение, а уже работать с этим!


Уровнение:
x * x * x + 2 * x * x - 8 * x + 1 + 2 * math.sin(x) + 15 * math.cos(x)​
Корни:
-3.123 1.493 2.638​

Я смог сделать только это, но и то корни выводит неверно.

 import math
def f(x):
    return x * x * x + 2 * x * x - 8 * x + 1 + 2 * math.sin(x) + 15 * math.cos(x)
a = -5
b = 5
delta = 0.001
h = 0.05
x = a
while x <= b:
    if f(x) * f(x * delta) <= 0:
        print(x + delta / 2)
    x += h

Отредактировано GGneBYDET (Апрель 23, 2020 17:41:36)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version