форкнуто от main/python-labs
Родитель
d8b49dd42f
Сommit
181ac41163
@ -0,0 +1,18 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
|
f = lambda x, a, b, c, d: a / (1 + math.exp(-b - c * x - d * x**2))
|
||||||
|
|
||||||
|
def calc_and_save(a, b, c, d, filename="results.txt"):
|
||||||
|
if a <= 0 or b <= 0 or c <= 0 or d <= 0:
|
||||||
|
raise ValueError("Все параметры должны быть положительными")
|
||||||
|
|
||||||
|
xs = list(range(-20, 21, 2))
|
||||||
|
values = [f(x, a, b, c, d) for x in xs]
|
||||||
|
|
||||||
|
with open(filename, "w", encoding="utf-8") as file:
|
||||||
|
for i in range(0, len(values), 3):
|
||||||
|
chunk = values[i:i+3]
|
||||||
|
line = " ".join(f"{v:.6f}" for v in chunk)
|
||||||
|
file.write(line + "\n")
|
||||||
|
|
||||||
|
return xs, values
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
from func_module import calc_and_save
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("Ввод параметров a, b, c, d (положительные числа):")
|
||||||
|
a = float(input("a = "))
|
||||||
|
b = float(input("b = "))
|
||||||
|
c = float(input("c = "))
|
||||||
|
d = float(input("d = "))
|
||||||
|
|
||||||
|
if a <= 0 or b <= 0 or c <= 0 or d <= 0:
|
||||||
|
print("Ошибка: все параметры должны быть положительными!")
|
||||||
|
return
|
||||||
|
|
||||||
|
filename = input("Имя выходного файла (по умолчанию results.txt): ").strip()
|
||||||
|
if not filename:
|
||||||
|
filename = "results.txt"
|
||||||
|
|
||||||
|
try:
|
||||||
|
calc_and_save(a, b, c, d, filename)
|
||||||
|
print(f"Результаты записаны в файл {filename}")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Ошибка: {e}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
1.000000 1.000000 1.000000
|
||||||
|
1.000000 1.000000 1.000000
|
||||||
|
1.000000 1.000000 1.000000
|
||||||
|
0.999994 0.880797 1.000000
|
||||||
|
1.000000 1.000000 1.000000
|
||||||
|
1.000000 1.000000 1.000000
|
||||||
|
1.000000 1.000000 1.000000
|
||||||
Загрузка…
Ссылка в новой задаче