-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNumerical_FinalProject.py
More file actions
78 lines (71 loc) · 1.72 KB
/
Numerical_FinalProject.py
File metadata and controls
78 lines (71 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# -*- coding: utf-8 -*-
"""
Created on Thu May 16 12:51:43 2019
@author: Michael
"""
from math import exp
from math import sin
from math import pow
def f(x,y):
z=0.000
z = exp(sin(50.0*x)) + sin(60.0*exp(y)) + sin(80.0*sin(x)) + sin(sin(70.0*y)) - sin(10.0*(x+y)) + (x*x+y*y)/4.0
return z
counter=.001
print(str(counter))
x=-1.000
xmin=-1.000
y=-1.000
ymin=-1.000
f_min=0.000
minFinal=-0.00001
while(x<=1.000):
x=x+counter
print(x)
y=-1.000
#print('in loop x'+str(x))
while(y<=1.000):
y=y+counter
f_min=f(x,y)
#print(str(f_min))
if(f_min<minFinal):
minFinal=f_min
xmin=x
ymin=y
print(str(counter))
print('Z Min: '+str(minFinal)+' X Min: '+str(xmin)+' Y Min: '+str(ymin))
x_min=xmin
y_min=ymin
z_min=0
x_save=x_min
y_save=y_min
digits=1
#z_min=minFinal
while(digits<16):
counter=1/(pow(10,digits))
print('counter'+str(counter))
digits=digits+1
x_limit_right=x_save+(counter*10)
y_limit_top=y_save+(counter*10)
x_limit_left=x_save-(counter*10)
y_limit_bot=y_save-(counter*10)
x=x_limit_left
while(x<=x_limit_right):
x=x+counter
y=y_limit_bot
while(y<=y_limit_top):
y=y+counter
z=f(x,y)
if(z<z_min):
z_min=z
xmin=x
ymin=y
x_save=xmin
y_save=ymin
print(str(z_min))
#print('digit: '+str(digits)+' z_min: '+str(z_min)+' x_min: '+str(xmin)+' y_min: '+str(ymin))
x=xmin
y=ymin
print("Hello, World!")
#Z Min: -3.117978604484046 X Min: 0.47000000000000103 Y Min: -0.9199999999999999
#x_min=0.47
#y_min=-0.92