Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
| Download
Project: MAT 3770
Path: randomMinMax.sage
Views: 232##########################################1# Random Min/Max Scripts2##########################################3#4# Johann Thiel5# ver 11.25.176# Functions to implement Newton's7# method.8#9##########################################1011##########################################12# Finding a min via random trials13##########################################14# g = function15# x0 = lower x-value bound16# x1 = upper x-value bound17# y0 = lower y-value bound18# y1 = upper y-value bound19# n = number of iterations20##########################################21def randomMin(g,x0,x1,y0,y1,n):22x = var('x')23y = var('y')24f(x,y) = g(x,y)25xmin = x026ymin = y027fmin = f(x0,y0)28for i in range(n):29x00 = x0+(x1-x0)*random()30y00 = y0+(y1-y0)*random()31if f(x00,y00) < fmin:32xmin = x0033ymin = y0034fmin = f(xmin,ymin)35return (xmin, ymin, fmin)36##########################################3738##########################################39# Finding a max via random trials40##########################################41# g = function42# x0 = lower x-value bound43# x1 = upper x-value bound44# y0 = lower y-value bound45# y1 = upper y-value bound46# n = number of iterations47##########################################48def randomMax(g,x0,x1,y0,y1,n):49x = var('x')50y = var('y')51f(x,y) = g(x,y)52xmin = x053ymin = y054fmin = f(x0,y0)55for i in range(n):56x00 = x0+(x1-x0)*random()57y00 = y0+(y1-y0)*random()58if f(x00,y00) > fmin:59xmin = x0060ymin = y0061fmin = f(xmin,ymin)62return (xmin, ymin, fmin)63##########################################6465