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

2.7 KiB

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

Махнов Георгий, А-01-23

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

Задание 1

  1. Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргу-менты функции). Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.

Выполнение

#ModuleIZK
import numpy as np
import os

os.chdir("C:\\Users\\gmack\\OneDrive\\Рабочий стол\\3 KURS\\LABS\\python-labs\\TEMA8")

def generate_sinusoidal_signal(amplitude, period, phase, num_samples, filename):
    n = np.arange(num_samples)
    omega = 2 * np.pi / period #угловая частота
    signal = amplitude * np.sin(omega * n + phase) 
    with open(filename, 'w+') as file:
        for value in signal:
            file.write(f"{value}\n")  # 6 знаков после запятой
    return signal
#Проверка

from ModuleIKZ import generate_sinusoidal_signal

lst = generate_sinusoidal_signal(2.0, 20, np.pi/4, 50, filename="result.txt")
print(lst)
>>> [ 1.41421356  1.78201305  1.97537668  1.97537668  1.78201305  1.41421356
  0.907981    0.31286893 -0.31286893 -0.907981   -1.41421356 -1.78201305
 -1.97537668 -1.97537668 -1.78201305 -1.41421356 -0.907981   -0.31286893
  0.31286893  0.907981    1.41421356  1.78201305  1.97537668  1.97537668
  1.78201305  1.41421356  0.907981    0.31286893 -0.31286893 -0.907981
 -1.41421356 -1.78201305 -1.97537668 -1.97537668 -1.78201305 -1.41421356
 -0.907981   -0.31286893  0.31286893  0.907981    1.41421356  1.78201305
  1.97537668  1.97537668  1.78201305  1.41421356  0.907981    0.31286893
 -0.31286893 -0.907981  ]

Полученный файл result.txt