ошибка с поиском экстремума функции

Статус
Закрыто для дальнейших ответов.

igor321

Новичок
Пользователь
Ноя 14, 2020
11
0
1
Всем привет, вот мое задание
Необходимо:
⚫ Создать одномерный массив аргумента функции в заданных пределах, содержащий не менее 25 чисел
⚫ Создать одномерный массив функции f(x)
⚫ Построить график функции, определить будет ли экстремум функции минимумом или максимумом.
⚫ Найти координаты точки экстремума функции, нанести точку экстремума на график
У меня выбивает ошибку с поиском экстремума.Вот моя ошибка1606589875897.png
Вот мой код

Код:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
A=np.linspace(-12,0,25)
print("Массив A=",A)
x=0
b=len(A)
fx = np.array([]).astype(int)
while x<b:
    f=3*x**2+38*x+2
    print("f(x)=",f)
    fx = np.append(fx, f)
    x=x+1
print("f(x)=",fx)
extremums = grp.apply(lambda fx: fx.abs().max() * np.sign(fx[fx.abs().idxmax()]))
plt.plot(fx)
plt.grid()
plt.show()
Вот сама функция 1606590401181.pngи с права пределы первого массива

Буду благодарен за помощь
 
Последнее редактирование:

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример:
Python:
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import fmin


# одномерный массив аргумента функции
x = np.linspace(-12, 0, 100)

# функция f(x)
f = lambda x: 3 * x ** 2 + 38 * x + 2

# одномерный массив функции f(x)
y = f(x)

# минимальное и максимальное значение функции
y_max = max(y)
y_min = min(y)
# координаты точки экстремума функции
extremum_id = np.where(y == y_min)

# значение экстремума
ext = fmin(f, np.array([0]), disp=False)[0]

print("Минимум функции f(x):", y_min)
print("Максимум функции f(x):", y_max)
print("Экстремум функции f(x):", ext)

# график функции
fig, ax = plt.subplots()
ax.plot(x, f(x))
ax.grid()
# точка экстремума на графике
markers = (extremum_id[0])
plt.plot(x, y, '-bD', markevery=markers)
plt.show()
 

igor321

Новичок
Пользователь
Ноя 14, 2020
11
0
1
Вот пример:
Python:
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import fmin


# одномерный массив аргумента функции
x = np.linspace(-12, 0, 100)

# функция f(x)
f = lambda x: 3 * x ** 2 + 38 * x + 2

# одномерный массив функции f(x)
y = f(x)

# минимальное и максимальное значение функции
y_max = max(y)
y_min = min(y)
# координаты точки экстремума функции
extremum_id = np.where(y == y_min)

# значение экстремума
ext = fmin(f, np.array([0]), disp=False)[0]

print("Минимум функции f(x):", y_min)
print("Максимум функции f(x):", y_max)
print("Экстремум функции f(x):", ext)

# график функции
fig, ax = plt.subplots()
ax.plot(x, f(x))
ax.grid()
# точка экстремума на графике
markers = (extremum_id[0])
plt.plot(x, y, '-bD', markevery=markers)
plt.show()
Спасибо за помощь
 
Статус
Закрыто для дальнейших ответов.

Форум IT Специалистов