Прикреплённый файл «TuneFun.py»

Загрузка

   1 #!/usr/bin/env python3
   2 
   3 import matplotlib.pyplot as plt
   4 import numpy as np
   5 from math import *
   6 import readline
   7 import sys
   8 import os
   9 fhist = os.path.join(os.path.expanduser("~"), ".history.math")
  10 if not os.path.exists(fhist):
  11     readline.write_history_file(fhist)
  12 readline.read_history_file(fhist)
  13 
  14 N = 1000
  15 W = 100
  16 d = 0.9
  17 
  18 while True:
  19     try:
  20         f = np.vectorize(eval(f"lambda x: {input('f(x): ')}"))
  21         XX = np.linspace(-W, W, W**2)
  22         XX = XX[np.abs(f(XX)) < d]
  23     except (EOFError, KeyboardInterrupt):
  24         break
  25     except Exception as E:
  26         print(f"Error {E}")
  27         continue
  28     if XX.size < 2:
  29         print("No roots")
  30         continue
  31     a, b = XX.min(), XX.max()
  32 
  33     #a, b = eval(input("a, b: "))
  34     A, B = 0, 0
  35     while (A, B) != (a, b):
  36         A, B = a, b
  37         X = np.linspace(A, B, N)
  38         Y = f(X)
  39         fig, ax = plt.subplots()
  40         ax.plot(X, Y)
  41         ax.grid()
  42         if X.min()<=0 and X.max()>=0:
  43             ax.plot([0,0], ax.get_ylim())
  44         ax.plot(ax.get_xlim(), [0,0])
  45         A, B = ax.get_xlim()
  46         plt.show()
  47         a, b = ax.get_xlim()
  48         print(f"{A}, {B}")
  49 
  50 readline.write_history_file(fhist)

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.