Advertisement
AIwinter

3 lab

Feb 23rd, 2022
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.86 KB | None | 0 0
  1. print('Лабораторная №2 \n'
  2.       'Здраствуйте, я Тагирова Валерия Рустемовна из второй подгруппы ПИБ-212\n'
  3.       'Моя функция под номером 5: x^6.5*e^(-cos(x))\n')
  4.  
  5. import matplotlib.pyplot as plt
  6. import math
  7.  
  8. plt.xlabel("x")
  9. plt.ylabel("y")
  10. plt.grid()
  11.  
  12. def func(f): #f(x) f(3)=5
  13.     while True:
  14.         a = input(f)
  15.         a = a.replace(',', '.', 1) #-1,7
  16.         if a.replace('-', '', 1).replace('.', '', 1).isdigit():
  17.             # возвращает Т если в строке одни цифры. иначе F
  18.             return float(a)
  19.  
  20. print("[a;b] с шагом h")
  21. a = func('Введите a = начальное значение X: ')
  22. b = func('Введите b = конечное значение X: ')
  23. h = func('Введите шаг: ')
  24.  
  25. m = []
  26. n = []
  27.  
  28. file = open("lab1.txt", "w")
  29. file.write('\n----------------------------------------'
  30.            '\n!    x    !           y=f(x)           !'
  31.            '\n----------------------------------------\n')
  32.  
  33. print('\n----------------------------------------'
  34.       '\n!    x    !           y=f(x)           !'
  35.       '\n----------------------------------------')
  36.  
  37. if a < b and h < 0 or a > b and h > 0:
  38.     a,b=b,a
  39.  
  40. while a <= b and h > 0 or a >= b and h < 0:
  41.     m.append(a)
  42.     if a >= 0:
  43.         y = round((a ** 6.5) / (math.exp(math.cos(a))), 3)
  44.         print('    ', a, '   !   ', y)
  45.         file.write('    ' + str(a) + '   !   ' + str(y) + '\n')
  46.         n.append(y)
  47.     else:
  48.         print('   ', a, '   !   функция не определена')
  49.         file.write('   ' + str(a) + '   !   функция не определена\n')
  50.         n.append(float("NaN")) # Not A Number
  51.     a = round(a + h, 3)
  52.  
  53. file.close()
  54.  
  55. plt.plot(m,n)
  56. plt.savefig('graph.png', fmt='png')
  57. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement