6.4 KiB
6.4 KiB
In [1]:
"""
Importations
"""
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import pandas as pd
import numpy as np
from random import random, seed
#plt.close()
#fig = plt.figure()
#ax = fig.gca(projection="3d")
# Make data
x0 = np.arange(0, 1, 0.05)
y0 = np.arange(0, 1, 0.05)
x, y = np.meshgrid(x0,y0)
def FrankeFunction(x,y):
term1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))
term2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))
term3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))
term4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)
return term1 + term2 + term3 + term4
z = FrankeFunction(x, y)
matrix = np.zeros((len(y0)**2,21))
# First column
matrix[:,0] = 1
# Second column
X0 = []
for k in range(len(x0)):
for i in range(len(x0)) :
xk = x0[k]
X0.append(xk)
matrix[:,1] = X0
# Third column
Y0 = []
for k in range(len(y0)) :
for i in range(len(y0)) :
yk = x0[i]
Y0.append(yk)
matrix[:,2] = Y0
# Fourth column
X02 = []
for k in range(len(x0)**2):
X02.append(X0[k]**2)
matrix[:,3] = X02
# Fifth column
Y02 = []
for k in range(len(y0)**2):
Y02.append(Y0[k]**2)
matrix[:,4] = Y02
# sixth column
X0Y0 = []
for k in range(len(x0)*len(y0)):
X0Y0.append(X0[k]*Y0[k])
matrix[:,5] = X0Y0
#7th column
X03 = []
for k in range(len(x0)*len(y0)):
X03.append(X0[k]*X0[k]*X0[k])
matrix[:,6] = X03
#8th column
Y03 = []
for k in range(len(x0)*len(y0)):
Y03.append(Y0[k]*Y0[k]*Y0[k])
matrix[:,7] = Y03
#9th column
X02Y0 = []
for k in range(len(x0)*len(y0)):
X02Y0.append(X0[k]*X0[k]*Y0[k])
matrix[:,8] = X02Y0
#10th column
X0Y02 = []
for k in range(len(x0)*len(y0)):
X0Y02.append(X0[k]*Y0[k]*Y0[k])
matrix[:,9] = X0Y02
#11th column
X04 = []
for k in range(len(x0)*len(y0)):
X04.append(X0[k]*X0[k]*X0[k]*X0[k])
matrix[:,10] = X04
#12th column
Y04 = []
for k in range(len(x0)*len(y0)):
Y04.append(Y0[k]*Y0[k]*Y0[k]*Y0[k])
matrix[:,11] = Y04
#13th column
X03Y0 =[]
for k in range(len(x0)*len(y0)):
X03Y0.append(X0[k]*X0[k]*X0[k]*Y0[k])
matrix[:,12] = X03Y0
#14th column
X02Y02 = []
for k in range(len(x0)*len(y0)):
X02Y02.append(X0[k]*X0[k]*Y0[k]*Y0[k])
matrix[:,13] = X02Y02
#15th column
X0Y03 = []
for k in range(len(x0)*len(y0)):
X0Y03.append(X0[k]*Y0[k]*Y0[k]*Y0[k])
matrix[:,14] = X0Y03
#16th column
X05 = []
for k in range(len(x0)*len(y0)):
X05.append(X0[k]*X0[k]*X0[k]*X0[k]*X0[k])
matrix[:,15] = X05
#17th column
Y05 = []
for k in range(len(x0)*len(y0)):
Y05.append(Y0[k]*Y0[k]*Y0[k]*Y0[k]*Y0[k])
matrix[:,16] = Y05
#18th column
X04Y0 = []
for k in range(len(x0)*len(y0)):
X04Y0.append(X0[k]*X0[k]*X0[k]*X0[k]*Y0[k])
matrix[:,17] = X04Y0
#19th column
X03Y02 = []
for k in range(len(x0)*len(y0)):
X03Y02.append(X0[k]*X0[k]*X0[k]*Y0[k]*Y0[k])
matrix[:,18] = X03Y02
#20th column
X02Y03 = []
for k in range(len(x0)*len(y0)):
X02Y03.append(X0[k]*X0[k]*Y0[k]*Y0[k]*Y0[k])
matrix[:,19] = X02Y03
#21th column
X0Y04 = []
for k in range(len(x0)*len(y0)):
X0Y04.append(X0[k]*Y0[k]*Y0[k]*Y0[k]*Y0[k])
matrix[:,20] = X0Y04
print(matrix)
len(matrix)Out [1]:
[[1. 0. 0. ... 0. 0. 0. ] [1. 0. 0.05 ... 0. 0. 0. ] [1. 0. 0.1 ... 0. 0. 0. ] ... [1. 0.95 0.85 ... 0.61945344 0.55424781 0.49590594] [1. 0.95 0.9 ... 0.69447375 0.6579225 0.623295 ] [1. 0.95 0.95 ... 0.77378094 0.77378094 0.77378094]]
400
In [ ]: