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

39 строки
4.6 KiB
Markdown

# Индивидуальное контрольное задание по Теме 7
Ходюк Максим Романович А-01-23
## Задание
Вариант 5
Разработайте функцию с 2 аргументами: x и В, реализующую преобразование входного сигна-ла x по формуле: y=0 при -B≤x≤B, y=x - B при x>B, y=x+B при x<-B. Создайте список со 100 значениями входного сигнала х случайными, нормально распределенными числами с мате-матическим ожиданием 0.5 и дисперсией 25. Для элементов списка с помощью функции рас-считайте список со значениями выходного сигнала y при В=4.5. Записать результаты в тексто-вый файл в виде двух столбцов: хi, yi.
### Выполнение
Создание функции:
```
def transform(x,B):
y = []
for xi in x:
if -B<=xi<=B:
y.append(0)
elif xi>B:
y.append(xi-B)
else:
y.append(xi+B)
return y
```
Создание данных и применение функции
```
import random as rn
import math
x = [rn.gauss(0.5,math.sqrt(25)) for i in range(100)]
x
[0.26397882118320026, 2.5669334322451287, 1.458303017652087, 8.610013575540764, -8.138607057785759, 3.432294826411966, 11.2276125902589, 4.730306952360786, 4.161136447888679, 6.901374205465032, -1.0126061327352323, -1.6125262920643002, 0.9206192155603055, -5.103701726056998, -3.252867614279044, -11.065716944607981, 4.366773668680859, 4.76989751550616, -4.484818214302562, 4.6371364240509685, -12.114476940364137, -3.213637816226469, 2.2020194476802963, -1.0605781700564538, 1.6260043158745168, -7.667450696462312, 10.521122887098112, 2.518672711827453, 2.501786002073765, -4.862413182269662, 0.8355437456938446, 4.191578422423441, 2.8948229334279016, 7.9844076987958505, 4.923356571370169, 9.363777242099875, -1.8133151178346925, -6.240180360161059, -1.7279981467691283, -6.022669361417824, 2.4830020464089855, 10.547024490013719, 9.149740686920369, -0.255190723006106, -0.5421597668067644, -0.859942656635438, 1.9278193949999298, 7.804755032116398, 6.646134977368288, 8.190999570566689, 0.6003283454307713, -0.20593312281412546, -5.197889647622478, 3.8343550269905804, -9.531535689308328, 1.325784085494855, 0.5534870659018295, -7.102874222066001, -13.675762550943762, 3.9636575618555803, -1.749294987934169, 1.2030521567236219, 6.232233252361516, -8.400948358967225, -0.0401645842059255, 7.029215929691404, 11.192892070385724, 6.096802546687919, 6.426480403802853, -9.26147331014739, -1.4716299105736765, -3.1840381441570633, -2.3059280944683342, 6.164419831200721, 5.681731221213691, -0.1669023554988457, -6.081636275522419, 3.3173364492848805, 3.6957709191976957, 10.289002607429847, 3.897251367951322, -9.728289414967538, -0.5357291708806988, -6.635059244643971, 3.4328517368277622, 1.0423563347617755, -0.36800794583401675, 2.6924764746597685, 1.434281875577846, -0.6660585695563244, 8.375208669468924, 0.5656132745209681, 13.852985702287752, 0.3122876528114459, -3.079416106753241, -7.846632087876243, 6.191694931110419, 3.83634269275283, -4.2409001708395815, -0.8595283155417268]
y = transform(x,4.5)
y
[0, 0, 0, 4.110013575540764, -3.6386070577857588, 0, 6.7276125902589, 0.23030695236078635, 0, 2.401374205465032, 0, 0, 0, -0.6037017260569977, 0, -6.565716944607981, 0, 0.2698975155061598, 0, 0.1371364240509685, -7.614476940364137, 0, 0, 0, 0, -3.1674506964623124, 6.021122887098112, 0, 0, -0.3624131822696617, 0, 0, 0, 3.4844076987958505, 0.423356571370169, 4.863777242099875, 0, -1.7401803601610588, 0, -1.5226693614178242, 0, 6.047024490013719, 4.649740686920369, 0, 0, 0, 0, 3.3047550321163977, 2.1461349773682876, 3.6909995705666887, 0, 0, -0.6978896476224783, 0, -5.031535689308328, 0, 0, -2.602874222066001, -9.175762550943762, 0, 0, 0, 1.7322332523615156, -3.9009483589672254, 0, 2.5292159296914036, 6.692892070385724, 1.5968025466879192, 1.9264804038028531, -4.761473310147389, 0, 0, 0, 1.6644198312007212, 1.181731221213691, 0, -1.5816362755224187, 0, 0, 5.789002607429847, 0, -5.228289414967538, 0, -2.135059244643971, 0, 0, 0, 0, 0, 0, 3.8752086694689236, 0, 9.352985702287752, 0, 0, -3.346632087876243, 1.691694931110419, 0, 0, 0]
```
Запись данных в файл [test_file.txt](test_file.txt):
```
file = open('test_file.txt','w')
if not file.closed:
for i in range(100):
file.write(f'{x[i]} {y[i]} \n')
file.close()
```