Minima lokalne z wykorzystaniem scipy.

0

Witam,
natrafiłem w pythonie na scipy i stwierdziłem, że fajnie by było jej się nauczyć, bo może mi się przydać ona na studiach.
Zobaczyłem, że można wyznaczać minima lokalne z jakiejś funkcji, większość przykładów opisywanych, które znalazłem były dla funkcji jednej zmiennej. Ja postanowiłem sobie to utrudnić i spróbować to wyznaczyć dla funkcji o trzech zmiennych, lecz nie wiem czy dobrze to rozumiem i chciałbym prosić o weryfikację mojego kodu.

import matplotlib.pyplot as plt
from scipy import optimize
from matplotlib import cm
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import random

#wzór funkcji
def funkcja(arg):
    return ((arg[0])**2 + (arg[1])**2 + (arg[2])**2)

#losuję w którym miejscu funkcja będzie zaczynała szukanie jakiegoś optimum
a=random.randint(0,10)
b=random.randint(0,10)
c=random.randint(0,10)


opt=optimize.fmin(funkcja,[a,b,c])

print("Współrzędne minimum: ", opt)
print("x:", opt[0])
print("y:", opt[1])
print("z:", opt[2])

print("Wartość funkcji w znalezionym minimum: ", funkcja([opt[0],opt[1],opt[2]]))

Array zwrócony do opt to są współrzędne znalezionego minimum lokalnego tak?

1

Zdaje się, że do funkcji wielu zmiennych potzrebny jest ten: https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize
pakiet.

1 użytkowników online, w tym zalogowanych: 0, gości: 1