форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
37 строки
1.2 KiB
Python
37 строки
1.2 KiB
Python
# Вычислим анонимную функцию
|
|
'''## Задача
|
|
Разработайте анонимную функцию, вычисляющую значение a*sin(x)/x,
|
|
где a,x – аргументы функции. Рассчитайте эту функцию в интервале значений х:
|
|
0<x≤50 с шагом 0.5 и при некото-ром значении коэффициента a.
|
|
Обеспечьте запись рассчитанных значений
|
|
в текстовый файл по одному значению на строке. Отобразите рассчитанные значения в виде графика.'''
|
|
import math
|
|
anfun = lambda a, x: a * math.sin(x)/x
|
|
|
|
with open('test.txt', 'w') as fl:
|
|
for i in range(1, 101):
|
|
x = i * 0.5
|
|
fl.write(f"{anfun(2,x)} \n")
|
|
|
|
|
|
x = []
|
|
y = []
|
|
with open('test.txt', 'r') as fl:
|
|
lines = fl.readlines()
|
|
for i in range(len(lines)):
|
|
x.append((i + 1) * 0.5 )
|
|
y.append(lines[i].strip())
|
|
|
|
print(x)
|
|
print(y)
|
|
|
|
import matplotlib.pyplot as plt
|
|
plt.figure(figsize=(10, 5))
|
|
plt.plot(x, y, 'r-', label='График', linewidth=2)
|
|
plt.xlabel('x')
|
|
plt.ylabel('y')
|
|
plt.show()
|
|
|
|
|
|
|