diff --git a/TEMA8/Test/Mod1.py b/TEMA8/Test/Mod1.py new file mode 100644 index 0000000..a06c95f --- /dev/null +++ b/TEMA8/Test/Mod1.py @@ -0,0 +1,26 @@ +import math + +f = lambda x, a, b, c, d: a / (1 + math.exp(-b - c * x - d * x * x)) + +def func1(a, b, c, d): + """ + Рассчитывает значения анонимной функции в диапазоне значений входного параметра х: -20 ≤ x ≤ 20 + с шагом 2 при некоторых положительных значениях параметров a,b,c,d. + """ + res = [] + for x in range(-20, 21, 2): + res.append(f(x, a, b, c, d)) + return res + + +def wf (data, filename): + """ + Записывает данные в файл по 3 значения в строке + """ + with open(filename, 'w') as file: + i = 0 + while i < len(data): + a = data[i:i+3] + s = list(map(str, a)) + file.write(" ".join(s) + "\n") + i += 3 \ No newline at end of file diff --git a/TEMA8/Test/Mod2.py b/TEMA8/Test/Mod2.py new file mode 100644 index 0000000..1014f0d --- /dev/null +++ b/TEMA8/Test/Mod2.py @@ -0,0 +1,17 @@ +import Mod1 + +print("Введите параметры:") +a = float(input("a = ")) +b = float(input("b = ")) +c = float(input("c = ")) +d = float(input("d = ")) + + +x = -20 +res = Mod1.func1(a, b, c, d) +for y in res: + print(f"f({x}) = {y}") + x += 2 + +filename = input("Имя файла для сохранения: ") +Mod1.wf(res, filename) \ No newline at end of file diff --git a/TEMA8/Test/Test.md b/TEMA8/Test/Test.md new file mode 100644 index 0000000..0e4e84b --- /dev/null +++ b/TEMA8/Test/Test.md @@ -0,0 +1,105 @@ +# Индивидуальные контрольные задания по теме 8 +Зеленкина Ксения А-02-23 + +## Задача +_Задание из ЛР 7_ +_(Вариант 11)_ Разработайте анонимную функцию с 5 аргументами: х, a,b,c,d, вычисляющую значение a/(1+exp(-b-c*x-d*x2)). Рассчитайте значения этой функции в диапазоне значений входного па-раметра х: -20 ≤ x ≤ 20 с шагом 2 при некоторых положительных значениях параметров a,b,c,d. Обеспечьте запись рассчитанных значений в текстовый файл по три значения на строке, разде-ленных пробелами. + +## Решение +Содержимое __Mod1.py__ +```py +import math + +f = lambda x, a, b, c, d: a / (1 + math.exp(-b - c * x - d * x * x)) + +def func1(a, b, c, d): + """ + Рассчитывает значения анонимной функции в диапазоне значений входного параметра х: -20 ≤ x ≤ 20 + с шагом 2 при некоторых положительных значениях параметров a,b,c,d. + """ + res = [] + for x in range(-20, 21, 2): + res.append(f(x, a, b, c, d)) + return res + + +def wf (data, filename): + """ + Записывает данные в файл по 3 значения в строке + """ + with open(filename, 'w') as file: + i = 0 + while i < len(data): + a = data[i:i+3] + s = list(map(str, a)) + file.write(" ".join(s) + "\n") + i += 3 +``` + +Содержимое __Mod2.py__ +```py +import Mod1 + +print("Введите параметры:") +a = float(input("a = ")) +b = float(input("b = ")) +c = float(input("c = ")) +d = float(input("d = ")) + + +x = -20 +res = Mod1.func1(a, b, c, d) +for y in res: + print(f"f({x}) = {y}") + x += 2 + +filename = input("Имя файла для сохранения: ") +Mod1.wf(res, filename) +``` + +_Вывод:_ +```py +Введите параметры: +a = 1 +b = 0.5 +c = 0.2 +d = 0.01 +f(-20) = 0.6224593312018546 +f(-18) = 0.5349429451582144 +f(-16) = 0.4650570548417855 +f(-14) = 0.4158094770645926 +f(-12) = 0.38698582386066444 +f(-10) = 0.3775406687981454 +f(-8) = 0.38698582386066455 +f(-6) = 0.4158094770645926 +f(-4) = 0.4650570548417855 +f(-2) = 0.5349429451582145 +f(0) = 0.6224593312018546 +f(2) = 0.7190996574163839 +f(4) = 0.8115326747861805 +f(6) = 0.8869541699279211 +f(8) = 0.9393460966843479 +f(10) = 0.9706877692486436 +f(12) = 0.9871312358039476 +f(-2) = 0.5349429451582145 +f(0) = 0.6224593312018546 +f(2) = 0.7190996574163839 +f(4) = 0.8115326747861805 +f(6) = 0.8869541699279211 +f(8) = 0.9393460966843479 +f(10) = 0.9706877692486436 +f(12) = 0.9871312358039476 +f(14) = 0.9948315469697114 +f(16) = 0.9980924000956662 +f(18) = 0.9993513704723885 +f(20) = 0.9997965730219448 +Имя файла для сохранения: test +``` + +Файл появился. В него записались значения: + + + +Содержимое файла: + + \ No newline at end of file diff --git a/TEMA8/Test/photo1.png b/TEMA8/Test/photo1.png new file mode 100644 index 0000000..19a5418 Binary files /dev/null and b/TEMA8/Test/photo1.png differ diff --git a/TEMA8/Test/photo2.png b/TEMA8/Test/photo2.png new file mode 100644 index 0000000..6fedf85 Binary files /dev/null and b/TEMA8/Test/photo2.png differ diff --git a/TEMA8/Test/test b/TEMA8/Test/test new file mode 100644 index 0000000..2b9da0a --- /dev/null +++ b/TEMA8/Test/test @@ -0,0 +1,7 @@ +0.622459 0.534943 0.465057 +0.415809 0.386986 0.377541 +0.386986 0.415809 0.465057 +0.534943 0.622459 0.719100 +0.811533 0.886954 0.939346 +0.970688 0.987131 0.994832 +0.998092 0.999351 0.999797