Здравствуйте работы делаете в Paytone?

Отменен
Заказ
6911785
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
13 Ноя в 16:00
Цена
Договорная цена
Блокировка
10 дней
Размещен
6 Ноя в 17:23
Просмотров
52
Описание работы

вариант 2

import numpy as np

import matplotlib.pyplot as plt

from typing import Callable


def f1(x: np.ndarray) -> np.ndarray:

 result: np.ndarray = 0.6 * np.power(3, x) - 2.3 * x - 3

 return result


def f2(x: np.ndarray) -> np.ndarray:

 result: np.ndarray = 0.5909 * np.exp(-0.6286 * x) - x

 return result


# Построение графиков


# Графики 1 и 2

x = np.linspace(start=0, stop=2.5, num=1000)

plt.plot(x, f1(x), label='f1')

plt.plot(x, f2(x), label='f2')

plt.grid(True)

plt.legend()

plt.show()


def localize(f: Callable, a: float, b:float) -> list[list]:

 h: float = 0.5

 x_c: float = a

 res: list[list] = []

 while x_c < b:

  if f(x_c) * f(x_c+h) < 0:

   res.append([x_c, x_c+h])

  x_c += h

 return res

  

def mpd(f: Callable, root_bounds: list[list], e: float = 0.000001) -> list:

 res: list = []

 for bound in root_bounds:

  a: float = bound[0]

  b: float = bound[1]

  c = (a+b)/2

  while np.fabs(f(c)) > e:

   if f(a)*f(c) < 0:

    b=c

   elif f(c)*f(b) < 0:

    a=c

   c=(a+b)/2

  res.append(c)

 return res

  

root_bounds = localize(f1, 0,2.5)

result = mpd(f1, root_bounds)

print(result)

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.54
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир