Professional Documents
Culture Documents
Listingan KN6
Listingan KN6
numpy as np
from sympy import *
import matplotlib.pyplot as plt
x = np.array([1,2,3,4,5,6,7,8,9,10])
y = np.array([1.8,3.5,4.2,4.9,5.3,6,6.8,6.5,6.4,6.9])
n = len(x) - 1
m = 2
pk = 0
x_ = []
vm = []
for i in range(n+1):
for j in range(m+1):
hit = x[i]**pk
pk += 1
x_.append(hit)
vm.append(x_)
pk = 0
x_ = []
print("Matriks Vandermonde =", vm)
X = vm
Xt = np.transpose(X)
M = np.dot(Xt,X)
print(Xt)
print(M)
M_inv = np.linalg.inv(M)
print(M_inv)
yt = np.transpose(y)
B = np.dot(M_inv,Xt)
b = np.dot(B,yt)
print(b) #parameter terbaik (a0,a1,...an)
a = symbols('a')
p = 0
for i in range(0,m+1):
p += b[i]*(a**i)
print(p) #persamaan polinomial
hsl = []
for i in range(0,n+1):
hit = p.subs(a,x[i])
hsl.append(hit)
print(hsl) #x disubstitusikan ke persamaan p
e = 0
for i in range(0,len(y)):
e =+ (y[i]-hsl[i])**2
print(e)
#mencari koefisien determinasi
dt = 0 #sbg standar deviasi
ys = 0 #sbg y rata-rata
for i in range(0,len(y)):
ys += y[i]
ys = ys/len(y)
for j in range(0,len(x)):
dt += (y[i]-ys)**2
r2 = (dt - e)/dt #koefisien determinasi
r = sqrt(r2) #koefisien korelasi
print(r2)
print(r)
plt.plot(x,y,color='b')
plt.plot(x,hsl,color='r')
plt.show()