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

3.2 KiB

Индивидуальное контрольное задание по Теме 8

Ходюк Максим Романович А-01-23

Задание

Вариант 12

По указанному преподавателем варианту контрольного задания обратитесь к индивидуально-му заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Со-здайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.

Разработайте анонимную функцию с 3 аргументами: х, a, b, вычисляющую значение exp(-(x-a)2/b)/(2πb)1/2. Рассчитайте значения функции в диапазоне значений х от a-3b1/2 до a+3b1/2 с шагом 0.2*b1/2 и запишите эти значения в текстовый файл по два значения на строке, разде-ленных запятыми.

Выполнение

Создал модуль с функцией MathFunc - IKZMod1.py со следующим содержанием:

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

Создал модуль с выполнением оставшейся части задания - 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 после выполнения программы:

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