Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

27 строки
659 B
Python

import random
def func(x, A, B):
if x > A:
return B
elif 0 <= x <= A:
return (2 * B * x / A) - (B * x**2 / A**2)
elif -A <= x < 0:
return (2 * B * x / A) + (B * x**2 / A**2)
else:
return -B
x_values = [random.uniform(-5, 12) for _ in range(100)]
params = [(5, 7), (3, 4), (8, 12)]
with open('test.txt', 'w', encoding='utf-8') as f:
for A, B in params:
f.write(f'\nПараметры: A = {A}, B = {B}\n')
f.write('xi yi\n')
f.write('----------------\n')
for x in x_values:
y = func(x, A, B)
f.write(f'{x:10.5f} {y:10.5f}\n')