Advertisement
dtroonn

Untitled

Dec 9th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.09 KB | None | 0 0
  1. from sympy import *
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4. i=Symbol('i')
  5. funk=cos(i**2)
  6. def tratata(u):
  7.     j=cos(u**2)
  8.     return j
  9. g=float(input('Задайте х: '))
  10. print(f'Наше значение функции в х = {g}: {tratata(g)}')
  11. n=1
  12. summa=1
  13. def ororo(x):
  14.     global summa
  15.     global n
  16.     dx=diff(funk,i,n)
  17.     ddx=lambdify(i,dx)
  18.     summa+=(ddx(0)*(x**n))/factorial(n)
  19.     return summa
  20. while True:
  21.     if abs(summa-cos(g**2))<=10**(-6):
  22.         break
  23.     ororo(g)
  24.     n+=1
  25. print(f'Количество производных для ряда Тейлора: {n}')
  26. print(f'Приближенное значение функции = {summa}')
  27. x=Symbol('x')
  28. lul = (cos(x**2)).series(x,0,n).removeO()
  29. pampam = lambdify(x, lul)
  30. xr=np.linspace(-2.2,2.2,100)
  31. plt.plot(xr, [pampam(a) for a in xr],color='fuchsia',label=f'Функция по ряду Тейлора\nиз {n} первых членов.')
  32. x=np.linspace(-8,8,100)
  33. y=np.cos(x**2)
  34. plt.plot(x,y,'g--',label='y=cos(x^2)')
  35. plt.grid(color='black')
  36. plt.legend(loc='upper right',fontsize=8)
  37. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement