Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

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