Kann unterschieden werden
pip install numpy
Führen Sie den obigen Befehl im Voraus aus
pip install matplotlib
Sie benötigen auch matplotlib, wenn Sie Diagramme zeichnen
adipy1.py
# -*- coding: utf-8 -*-
from adipy import ad, sin, adn
#Erstellung von Anzeigenobjekten
x = ad(1.5)
#Ersetzen Sie y durch x im Quadrat
y = x**2
print y
# ad(2.25, array([ 3.]))
# array([ 3.])"3" ist der Wert, der durch einmaliges Differenzieren von y und Ersetzen von x erhalten wird
# dy(1)/dx
print y.d(1)
# 3.0
z = x*sin(x**2)
print z
# ad(1.1671097953318819, array([-2.04870811]))
# dy(1)/dx
print z.d(1)
# -2.04870810536
#adn Objekterstellung
#Das zweite Argument 4 wird bis zur vierfachen Differenzierung berechnet
x = adn(1.5, 4)
y = x**2
print y
# ad(2.25, array([ 3., 2., 0., -0.]))
# dy(2)/dx
print y.d(2)
# 2.0
z = x*sin(x**2)
print z
# ad(1.1671097953318819, array([ -2.04870811, -16.15755076, -20.34396265, 194.11618384]))
# dy(4)/dx
print z.d(4)
# 194.116183837
adipy2.py
# -*- coding: utf-8 -*-
from adipy import adn, sin, taylorfunc
import matplotlib.pyplot as plt
import numpy as np
#adn Objekterstellung
xAD = [adn(1.5, i) for i in xrange(1, 7)]
def z(x):
return x*sin(x**2)
#Stellen Sie den x-Achsenbereich des Diagramms ein
x = np.linspace(0.75, 2.25)
#Beschriften und zeichnen Sie die ursprüngliche Funktion als tatsächliche Funktion
plt.plot(x, z(x), label='Actual Function')
for i in xrange(len(xAD)):
#Verwenden Sie das Taylor-Polynom
fz = taylorfunc(z(xAD[i]), at=xAD[i].nom)
plt.plot(x, fz(x), label='Order %d Taylor'%(i+1))
#Stellen Sie die Position der Funktionsbezeichnung ein
plt.legend(loc=0)
plt.show()
Recommended Posts