Загрузил ИКЗ к Теме 8 и файлы к нему

main
KhodiukMR 3 недель назад
Родитель 53aede1542
Сommit 7b8469def2

@ -0,0 +1,2 @@
import math
MathFunc = lambda x, a, b: math.exp((-(x-a)**2)/b)/((2*math.pi*b)**(0.5))

@ -0,0 +1,26 @@
import math
from IKZMod1 import MathFunc
from numpy import arange
a = float(input('введите значение константы a: '))
b = float(input('введите значение константы b: '))
LeftBord = a-3*b**(0.5)
RightBord = a+3*b**(0.5)
Step = 0.2*b**(0.5)
y = []
for x in arange(LeftBord,RightBord,Step):
y.append(MathFunc(x, a, b))
with open('TestFile.txt','w') as file:
for i in range(0,len(y),2):
if i+1<len(y):
file.write(f'{y[i]}, {y[i+1]} \n')
else:
file.write(f'{y[i]}\n')

@ -0,0 +1,16 @@
2.099318746451056e-05, 6.69668672647875e-05
0.00019719596463353917, 0.0005360342073088022
0.0013450654850770993, 0.003115665271240636
0.006662152960521624, 0.013150275377486781
0.02396136399563107, 0.04030367676515082
0.06257980984579728, 0.08969748220957399
0.11868141280309415, 0.14495780494004476
0.1634394686817576, 0.17010955993225252
0.16343946868175718, 0.14495780494004407
0.11868141280309329, 0.08969748220957313
0.06257980984579653, 0.040303676765150245
0.023961363995630612, 0.01315027537748653
0.006662152960521497, 0.0031156652712405583
0.00134506548507706, 0.0005360342073087869
0.00019719596463353375, 6.696686726478525e-05
2.0993187464509702e-05

@ -0,0 +1,67 @@
# Индивидуальное контрольное задание по Теме 8
Ходюк Максим Романович А-01-23
## Задание
Вариант 12
По указанному преподавателем варианту контрольного задания обратитесь к индивидуально-му заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Со-здайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
Разработайте анонимную функцию с 3 аргументами: х, a, b, вычисляющую значение exp(-(x-a)2/b)/(2*π*b)1/2. Рассчитайте значения функции в диапазоне значений х от a-3*b1/2 до a+3*b1/2 с шагом 0.2*b1/2 и запишите эти значения в текстовый файл по два значения на строке, разде-ленных запятыми.
### Выполнение
Создал модуль с функцией MathFunc - [IKZMod1.py](IKZMod1.py) со следующим содержанием:
```
import math
MathFunc = lambda x, a, b: math.exp((-(x-a)**2)/b)/((2*math.pi*b)**(0.5))
```
Создал модуль с выполнением оставшейся части задания - [IKZMod2.py](IKZMod2.py):
```
import math
from IKZMod1 import MathFunc
from numpy import arange
a = float(input('введите значение константы a: '))
b = float(input('введите значение константы b: '))
LeftBord = a-3*b**(0.5)
RightBord = a+3*b**(0.5)
Step = 0.2*b**(0.5)
y = []
for x in arange(LeftBord,RightBord,Step):
y.append(MathFunc(x, a, b))
with open('TestFile.txt','w') as file:
for i in range(0,len(y),2):
if i+1<len(y):
file.write(f'{y[i]}, {y[i+1]} \n')
else:
file.write(f'{y[i]}\n')
```
Вызов программы:
```
import IKZMod2
введите значение константы a: 13.2
введите значение константы b: 5.5
```
Содержание текстового файла [TestFile.txt](TestFile.txt) после выполнения программы:
```
2.099318746451056e-05, 6.69668672647875e-05
0.00019719596463353917, 0.0005360342073088022
0.0013450654850770993, 0.003115665271240636
0.006662152960521624, 0.013150275377486781
0.02396136399563107, 0.04030367676515082
0.06257980984579728, 0.08969748220957399
0.11868141280309415, 0.14495780494004476
0.1634394686817576, 0.17010955993225252
0.16343946868175718, 0.14495780494004407
0.11868141280309329, 0.08969748220957313
0.06257980984579653, 0.040303676765150245
0.023961363995630612, 0.01315027537748653
0.006662152960521497, 0.0031156652712405583
0.00134506548507706, 0.0005360342073087869
0.00019719596463353375, 6.696686726478525e-05
2.0993187464509702e-05
```
Загрузка…
Отмена
Сохранить