форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
56 строки
2.1 KiB
Markdown
56 строки
2.1 KiB
Markdown
# Выполнение индивидуального контрольного задания по теме 7
|
|
|
|
Голощапов Д.Е.,А-01-23
|
|
|
|
# Задание
|
|
|
|
Разработайте анонимную функцию с 3 аргументами: х, a, b, вычисляющую значение exp(-(x-a)2/b)/(2*π*b)1/2. Рассчитайте значения функции в диапазоне значений х от a-3*b1/2 до a+3*b1/2 с шагом 0.2*b1/2 и запишите эти значения в текстовый файл по два значения на строке, разделенных запятыми.
|
|
|
|
# Решение
|
|
|
|
>>> import os
|
|
>>> os.chdir('C:\\Users\\u115-07\\Desktop\\python-labs\\TEMA7')
|
|
>>> normal= lambda x, a, b: math.exp(-(x-a)**2/b) / math.sqrt(2 * math.pi * b)
|
|
def test_normal():
|
|
a, b = 0, 1
|
|
std_dev = math.sqrt(b)
|
|
start = a - 3 * std_dev
|
|
end = a + 3 * std_dev
|
|
step = 0.2 * std_dev
|
|
x_values = []
|
|
current = start
|
|
while current <= end:
|
|
x_values.append(current)
|
|
current += step
|
|
function_values = []
|
|
for x in x_values:
|
|
y = normal_pdf(x, a, b)
|
|
function_values.append(y)
|
|
file = open('ikz.txt', 'w')
|
|
for i in range(0, len(function_values), 2):
|
|
if i + 1 < len(function_values):
|
|
file.write(str(function_values[i])+','+str(function_values[i+1])+'\n')
|
|
else:
|
|
file.write(str(function_values[i])+',0\n')
|
|
file.close()
|
|
...
|
|
>>> test_normal()
|
|
|
|
4.9233388666234e-05,0.0001570512248023814
|
|
0.00046246553014536756,0.0012571116468828324
|
|
0.0031544581746000837,0.007306882745280797
|
|
0.015624133620192436,0.03084012943829092
|
|
0.05619437965598666,0.09452050033904612
|
|
0.14676266317374007,0.21035924208613316
|
|
0.2783325845048708,0.33995618640009767
|
|
0.3832995298410415,0.3989422804014327
|
|
0.3832995298410414,0.33995618640009745
|
|
0.27833258450487053,0.21035924208613285
|
|
0.1467626631737398,0.09452050033904591
|
|
0.056194379655986504,0.030840129438290835
|
|
0.01562413362019238,0.007306882745280764
|
|
0.0031544581746000672,0.0012571116468828236
|
|
0.0004624655301453643,0.00015705122480238025
|
|
|
|
|