Facebook
From Mića i kolaboranti., 6 Days ago, written in Python.
Embed
Download Paste or View Raw
Hits: 48
  1. import matplotlib.pyplot as plt
  2. import matplotlib as mpl
  3. import numpy as np
  4. import sympy as sym
  5. #Zadana funckija
  6. def y(x):
  7.     return 1/(4*x**(1/3))
  8.  
  9. #jednazba tangente
  10. def tangenta(x):
  11.     return f_x0*x-f_x0*(x_0)+y_0
  12.  
  13.  
  14. #jednazba normale
  15. def normala(x):
  16.     return (x/f_x0)-(x_0/f_x0)+y_0
  17.  
  18. #deklariranje nepoznanice koja 膰e se koristiti u ra膷unu
  19. x = sym.Symbol('x')
  20. #to膷ka u kojoj tra啪imo pravce
  21. x_0=1/64
  22.  
  23. #pripadna funkcijska vrijednost
  24. y_0=y(x_0)
  25. #derivacija funkcije
  26. def yprime(x):
  27.     return sym.diff(y(x), x)
  28. #prevo膽enje funkcije u np.  nastavak kako bi se mogle uvr拧tavati proizvoljne vrijednosti(sympy format to ne podr啪ava) putem metode lambdify
  29. yprimeLambdified = sym.lambdify(x, yprime(x), "numpy")
  30.  
  31. #vrijednost f derivirano u to膷ki x_0(1/64)
  32. f_x0=yprimeLambdified(x_0)
  33.  
  34. #vrijednost y_0 tangente
  35.  
  36.  
  37.  
  38.  
  39. print(f_x0)
  40. print(y_0)
  41. print(tangenta(1))
  42. print(normala(0))
  43.  
  44.  
  45. # Uzimanje 1000 vrijednosti iz intervala <-200, 200>
  46. c = np.linspace(-200, 1000, 200)
  47.  
  48. #Kreiranje platna na kojem 膰e se grafovi prikazivati
  49. plt.figure(figsize=(5, 2.7), layout='constrained')
  50. #plotanje tangente
  51. plt.plot(c, tangenta(c), label='tangenta')
  52. #plotanje normale
  53. plt.plot(c, normala(c), label='normala')
  54. #plot funkcije
  55. plt.plot(c, y(c), label='funkcija')
  56. #plotanje osi i imenovanje
  57. plt.xlabel('apscisa')
  58. plt.ylabel('ordinata')
  59.  
  60. #kreiranje "legende"
  61. plt.legend()
  62.  
  63.  
  64. #pokazivanje plotanih funkcija
  65. plt.show()