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?