форкнуто от main/python-labs
Родитель
5c09e6c686
Сommit
c431dedd31
@ -0,0 +1,7 @@
|
|||||||
|
1.905148 1.839654 1.753066
|
||||||
|
1.652707 1.551128 1.462117
|
||||||
|
1.396930 1.362707 1.362707
|
||||||
|
1.396930 1.462117 1.551128
|
||||||
|
1.652707 1.753066 1.839654
|
||||||
|
1.905148 1.948838 1.974766
|
||||||
|
1.988582 1.995248 1.998178
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
# Индивидуальное контрольное задание
|
||||||
|
|
||||||
|
Марков Никита Сергеевич, А-03-23
|
||||||
|
|
||||||
|
## 11 вариант
|
||||||
|
|
||||||
|
Разработайте анонимную функцию с 5 аргументами: х, a,b,c,d, вычисляющую значение a/(1+exp(-b-c*x-d*x2)). Рассчитайте значения этой функции в диапазоне значений входного параметра х: -20 ≤ x ≤ 20 с шагом 2 при некоторых положительных значениях параметров a,b,c,d. Обеспечьте запись рассчитанных значений в текстовый файл по три значения на строке, разделенных пробелами.
|
||||||
|
|
||||||
|
Разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
|
||||||
|
|
||||||
|
```py
|
||||||
|
#test func
|
||||||
|
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"):
|
||||||
|
xs = [x for x in 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, val in enumerate(values, start=1):
|
||||||
|
file.write(f"{val:.6f}")
|
||||||
|
if i % 3 == 0:
|
||||||
|
file.write("\n")
|
||||||
|
else:
|
||||||
|
file.write(" ")
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```py
|
||||||
|
#test_main
|
||||||
|
from test_func 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 = "))
|
||||||
|
|
||||||
|
filename = input("Имя выходного файла (по умолчанию results.txt): ").strip()
|
||||||
|
if not filename:
|
||||||
|
filename = "results.txt"
|
||||||
|
|
||||||
|
calc_and_save(a, b, c, d, filename)
|
||||||
|
|
||||||
|
print(f"Расчёт завершён. Результаты записаны в файл {filename}.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
results.txt
|
||||||
|
|
||||||
|
1.905148 1.839654 1.753066
|
||||||
|
1.652707 1.551128 1.462117
|
||||||
|
1.396930 1.362707 1.362707
|
||||||
|
1.396930 1.462117 1.551128
|
||||||
|
1.652707 1.753066 1.839654
|
||||||
|
1.905148 1.948838 1.974766
|
||||||
|
1.988582 1.995248 1.998178
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
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"):
|
||||||
|
xs = [x for x in 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, val in enumerate(values, start=1):
|
||||||
|
file.write(f"{val:.6f}")
|
||||||
|
if i % 3 == 0:
|
||||||
|
file.write("\n")
|
||||||
|
else:
|
||||||
|
file.write(" ")
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
from test_func 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 = "))
|
||||||
|
|
||||||
|
filename = input("Имя выходного файла (по умолчанию results.txt): ").strip()
|
||||||
|
if not filename:
|
||||||
|
filename = "results.txt"
|
||||||
|
|
||||||
|
calc_and_save(a, b, c, d, filename)
|
||||||
|
|
||||||
|
print(f"Расчёт завершён. Результаты записаны в файл {filename}.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
||||||
Загрузка…
Ссылка в новой задаче