NIM : 2208521011
KELAS : A
1. a). turunan pertama dan turunan kedua dari fungsi f(x) = sin(2x)
Turunan pertama yaitu f’(x)= 2 cos 2x
Untuk x= -3.14 -> f’(x)= 2 cos 2(-3.14)= 1.9969
Untuk x= -1.57 -> f’(x)= 2 cos 2(-1.57)= 1.9992
Untuk x= 0 -> f’(x)= 2 cos (0)= 2
Untuk x= 1.57 -> f’= 2 cos (1.57)= 1.9992
Untuk x=3.14 -> f’(x)= 2 cos (3.14)= 1.9969
Turunan kedua yaitu f”(x)= -4 sin 2x
Untuk x= -3.14 -> f’’(x)= -4 sin 2(-3.14)= 11.420
Untuk x= -1.57 -> f’’(x)= -4 sin 2(-1.57)= 5.710
Untuk x= 0 -> f’’(x)= -4 sin 2(0)= 0
Untuk x= 1.57 -> f’’= -4 sin 2(1.57)= -5.710
Untuk x=3.14 -> f’’(x)= -4 sin 2(3.14)= -11.420
b).
#Turunan Pertama dan Kedua
#dengan rentang x
#kasus y=sin(x)
import matplotlib.pyplot as plt
import numpy as np
import math
N=4
z=np.empty((N),dtype=float)
x_awal=float(input('masukkan x awal = ')) #e.g., -6.28
x_akhir=float(input('masukkan x akhir = ')) #e.g., 6.28
jml_pita = 100
xn=np.empty((jml_pita+2),dtype=float)
dif=np.empty((jml_pita+2),dtype=float)
dif2=np.empty((jml_pita+2),dtype=float)
#print(len(dif))
x_interval=(x_akhir-x_awal)/(jml_pita+1)
#x =np.arange(x_awal,x_akhir,x_interval)
#*****Plotting y =sin(x)****
x =np.arange(x_awal,x_akhir+x_interval,x_interval)
#print(len(x))
y =np.sin(2*x)
y1=2*np.cos(2*x) #turunan pertama analitik
y2=-4*np.sin(2*x)
plt.plot(x,y,'r')
plt.plot(x,y1,'y')
plt.plot(x,y2,'k')
#*****Finding 1st order derivative*****
n=0
y=x_awal
while n<=jml_pita+1: #y<=x_akhir:
eps=1e-5
h=1.5
zz=0
delta=10;
while abs(delta)>=eps:#iterasi selama delta lebih besar dari eps
for i in range (1,2+1,1):
if i==1:
x=y+h
else:
x=y-h
#*****************
fx=np.sin(2*x)
#*****************
z[i]=fx
dx=(z[1]-z[2])/(2*h) #equation of 1st diff
delta=zz-dx
zz=dx
#h=h/10
dif[n]=dx
xn[n]=y
y=y+x_interval
n=n+1
#****Finding 2nd order derivative***
n=0
y=x_awal
while n<=jml_pita+1: #y<=x_akhir:
eps=1e-5
h=1.5
zz=0
delta=10;
while abs(delta)>=eps: #iteration while delta greater equal eps
for i in range (1,3+1,1): #i=1:1:2
if i==1:
x=y+h
else:
if i==2:
x=y
else:
if i==3:
x=y-h
#*****************
fx=np.sin(2*x) #given function
#*****************
z[i]=fx
dx=(z[1]-2*z[2]+z[3])/(h**2) #equation of 2nd derivative
delta=zz-dx
zz=dx
#h=h/10
dif2[n]=dx
xn[n]=y
#print(y)
y=y+x_interval
n=n+1
#print(y)
#********************************************************
#Plotting the curves of 1st and 2nd derivative
#********************************************************
#handles.y(2,:)=dif; %set baris kedua dari y sbg turunan pertama
#set(handles.p,plot(x,handles.y(2,:)));
plt.plot(xn,dif,'g') #1st differential
plt.plot(xn,dif2,'b') #2nd differential
plt.title('y=sin(2x)')
plt.xlabel('x')
plt.ylabel('y')
plt.legend(['y','y\' (analitik)','y\"(analitik)','y\'(Beda Central)','y\"(Beda Central)'])
plt.show();
import pandas as pd
df = pd.DataFrame(y1,dif)
df.to_excel(excel_writer = "turunan1_sinx.xlsx")
df = pd.DataFrame(y2,dif2)
df.to_excel(excel_writer = "turunan2_sinx.xlsx")
Analisis Regresi:
- Hasil regresi turunan pertama antara y’ (analitik) dan y’(beda central) turunan pertama
menghasilkan nilai gradien m = 21.259 dan konstanta c = -1.10-16. Hal ini berarti kemiringan
garis m dan c masih menyimpang dari nilai idealnya yaitu 1 dan 0, secara berurutan.
Sedangkan Nilai koefisien determinasi R2 yang dihasilkan yaitu 1. Nilai ini sama dengan nilai
koefisien determinasi R2 yang ideal yaitu 1.
- Hasil regresi turunan kedua antara y’ (analitik) dan y’(beda central) turunan kedua
menghasilkan nilai gradien m = 2.2613 dan konstanta c = -5.10-17. Hal ini berarti kemiringan
garis m dan c masih menyimpang dari nilai idealnya yaitu 1 dan 0, secara berurutan.
Sedangkan Nilai koefisien determinasi R2 yang dihasilkan yaitu 1. Nilai ini sama dengan nilai
koefisien determinasi R2 yang ideal yaitu 1