форкнуто от main/python-labs
Родитель
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
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче