
Добавил:
deadpigeon
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab8 / lab8
.pyimport numpy as np
import matplotlib.pyplot as plt
class Line:
def __init__(self, c0, c1):
self.c0 = c0
self.c1 = c1
def formula(self, x):
return self.c0 + self.c1 * x
def fplot(self, x_min, x_max, num_points):
x_values = np.linspace(x_min, x_max, num_points)
y_values = self.formula(x_values)
plt.plot(x_values, y_values, color='green', linestyle='-', marker='*')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title(f'График функции f(x) = {self.c0} + {self.c1}*x')
plt.grid(True)
plt.show()
class Parabola(Line):
def __init__(self, c0, c1, c2):
super().__init__(c0, c1)
self.c2 = c2
def formula(self, x):
return super().formula(x) + self.c2 * x**2
def fplot(self, x_min, x_max, num_points):
x_values = np.linspace(x_min, x_max, num_points)
y_values = self.formula(x_values)
plt.plot(x_values, y_values, color='blue', linestyle='--', marker='o')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title(f'График функции f(x) = {self.c0} + {self.c1}*x + {self.c2}*x^2')
plt.grid(False)
plt.show()
if __name__ == "__main__":
l = Line(5, 0.5)
print(l.formula(4))
l.fplot(-5, 5, 2)
p = Parabola(1, 2, 3)
print(p.formula(4))
p.fplot(-5, 5, 5)