форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
65 строки
2.0 KiB
Python
65 строки
2.0 KiB
Python
#1
|
|
import random
|
|
def pause(signal, Tzad):
|
|
for i in range(len(signal)):
|
|
signal[i] += Tzad
|
|
return signal
|
|
x = [random.gauss(4,2) for i in range(50)]
|
|
print(x)
|
|
T = float(input("Введите задержку"))
|
|
y = pause(x,T)
|
|
print(y)
|
|
|
|
#2
|
|
import numpy as np
|
|
import random
|
|
import matplotlib.pyplot as plt
|
|
|
|
def histo(data, num):
|
|
minval, maxval = min(data), max(data)
|
|
parts = np.linspace(minval, maxval, num + 1)
|
|
rows = [0] * num
|
|
for now in data:
|
|
for i in range(num):
|
|
if parts[i] <= now < parts[i + 1]:
|
|
rows[i] += 1
|
|
break
|
|
if now == maxval:
|
|
rows[-1] += 1
|
|
print("ТАБЛИЦА ГИСТОГРАММЫ")
|
|
print(" "*60)
|
|
print(f"{'№':<10} {'Интервал':<20} {'Количество':<15}")
|
|
print("-"*60)
|
|
|
|
total = len(data)
|
|
for i in range(num):
|
|
# Форматирование интервала
|
|
interval = f"[{parts[i]:.1f}, {parts[i+1]:.1f})"
|
|
if i == num - 1: # Последний интервал включает правую границу
|
|
interval = f"[{parts[i]:.1f}, {parts[i+1]:.1f}]"
|
|
print(f"{i+1:<10} {interval:<20} {rows[i]:<15} ")
|
|
print("-"*60)
|
|
print(rows)
|
|
|
|
plt.hist(data, bins=parts)
|
|
plt.xlabel('Значения выборки')
|
|
plt.ylabel('Число элементов')
|
|
plt.title('Гистограмма выборки')
|
|
plt.show()
|
|
|
|
return rows
|
|
|
|
sample = [random.betavariate(random.random(), random.random()) for i in range(random.randint(10,1000))]
|
|
intervals = int(input("Введите количество интервалов разбиения: "))
|
|
output = histo(sample, intervals)
|
|
|
|
|
|
|
|
#3
|
|
regression = lambda b1,b2,X: b1+b2*X
|
|
b1 = float(input("Введите значение b1"))
|
|
b2 = float(input("Введите значение b2"))
|
|
X = float(input("Введите значение X"))
|
|
Forecast = regression(b1,b2,X)
|
|
print("Полученное предсказанное значение:",Forecast)
|