πŸ”§ Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сигнал Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: пошаговоС руководство для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сигнал Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅?

Π’ ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сигнал, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ matplotlib. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


import numpy as np
import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
time = np.linspace(0, 10, 1000)

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сигнала
signal = np.sin(time)

# ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°
plt.plot(time, signal)
plt.xlabel('ВрСмя')
plt.ylabel('Π‘ΠΈΠ³Π½Π°Π»')
plt.title('Π“Ρ€Π°Ρ„ΠΈΠΊ сигнала Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅')
plt.show()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.linspace для создания массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ 0 Π΄ΠΎ 10 с шагом 0.01. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сигнала, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.sin, которая вычисляСт синус для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ plt.plot для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° сигнала, Π° Ρ‚Π°ΠΊΠΆΠ΅ добавляСм ΠΌΠ΅Ρ‚ΠΊΠΈ осСй ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сигнала ΠΈ стилСй Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ сигналов Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сигнал Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ ΠΏΠΈΡ‚ΠΎΠ½Π΅ сущСствуСт нСсколько способов построСния сигналов. Один ΠΈΠ· Π½ΠΈΡ… - использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ осью. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² сигналов.

Π‘ΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ сигнал

Π‘ΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ сигнал являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых распространСнных Ρ‚ΠΈΠΏΠΎΠ² сигналов. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для модСлирования Π·Π²ΡƒΠΊΠΎΠ², Π°Π½Π°Π»ΠΈΠ·Π° элСктричСских сигналов ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.


import numpy as np
import matplotlib.pyplot as plt

# Π—Π°Π΄Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сигнала
amplitude = 1.0
frequency = 2.0
phase = np.pi / 2

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ось
time = np.linspace(0, 2*np.pi, 1000)

# ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сигнала
signal = amplitude * np.sin(2 * np.pi * frequency * time + phase)

# Визуализация сигнала
plt.plot(time, signal)
plt.xlabel('ВрСмя')
plt.ylabel('Амплитуда')
plt.title('Π‘ΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ сигнал')
plt.show()
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy ΠΈ matplotlib для построСния ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сигнала. ΠœΡ‹ Π·Π°Π΄Π°Π΅ΠΌ Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Ρƒ, частоту ΠΈ Ρ„Π°Π·Ρƒ сигнала, создаСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ось с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ linspace(), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sin() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy для расчСта Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сигнала. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ сигнал с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib.

Π‘ΠΈΠ³Π½Π°Π» с ΡˆΡƒΠΌΠΎΠΌ

Часто сигналы Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… прилоТСниях содСрТат ΡˆΡƒΠΌ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ случайного ΡˆΡƒΠΌΠ° ΠΊ сигналу ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСалистичных условий.


import numpy as np
import matplotlib.pyplot as plt

# Π—Π°Π΄Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сигнала
amplitude = 1.0
frequency = 2.0
phase = np.pi / 2
noise_amplitude = 0.2

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ось
time = np.linspace(0, 2 * np.pi, 1000)

# ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сигнала
signal = amplitude * np.sin(2 * np.pi * frequency * time + phase)

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡˆΡƒΠΌΠ°
noise = noise_amplitude * np.random.randn(1000)

# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡˆΡƒΠΌΠ° ΠΊ сигналу
noisy_signal = signal + noise

# Визуализация сигнала с ΡˆΡƒΠΌΠΎΠΌ
plt.plot(time, noisy_signal)
plt.xlabel('ВрСмя')
plt.ylabel('Амплитуда')
plt.title('Π‘ΠΈΠ³Π½Π°Π» с ΡˆΡƒΠΌΠΎΠΌ')
plt.show()
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ добавляСм случайный ΡˆΡƒΠΌ ΠΊ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΌΡƒ сигналу. ΠœΡ‹ Π·Π°Π΄Π°Π΅ΠΌ Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Ρƒ ΠΈ частоту сигнала, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Ρƒ ΡˆΡƒΠΌΠ°. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ось, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ сигнал ΠΈ ΡˆΡƒΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ добавляСм ΡˆΡƒΠΌ ΠΊ сигналу ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ сигнал с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib.

Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ сигнал

Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ сигнал прСдставляСт собой ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ воздСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π°Π½Π°Π»ΠΈΠ·Π° систСмы ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сигналов.


import numpy as np
import matplotlib.pyplot as plt

# Π—Π°Π΄Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сигнала
amplitude = 1.0
position = 0.5

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ось
time = np.linspace(0, 1, 1000)

# ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½ΠΎΠ³ΠΎ сигнала
signal = np.zeros_like(time)
signal[int(position * len(time))] = amplitude

# Визуализация ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½ΠΎΠ³ΠΎ сигнала
plt.stem(time, signal)
plt.xlabel('ВрСмя')
plt.ylabel('Амплитуда')
plt.title('Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ сигнал')
plt.show()
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ сигнал. ΠœΡ‹ Π·Π°Π΄Π°Π΅ΠΌ Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Ρƒ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ось с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ linspace() ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ сигнал нулями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ zeros_like() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСксации ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Ρƒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° Π² Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ сигнал с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ stem() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов построСния сигналов Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π’Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ сигналы, сигналы с ΡˆΡƒΠΌΠΎΠΌ ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹Π΅ сигналы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ‚ΠΈΠΏΠΎΠ² сигналов ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… прилоТСниях. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для экспСримСнтов с сигналами ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ исслСдования.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠžΡΠ½ΠΎΠ²Ρ‹ Matplotlib. Визуализация Π΄Π°Π½Π½Ρ‹Ρ…. Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Python

ΠžΡΠ½ΠΎΠ²Ρ‹ ЦОБ: 18. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡƒΡ€ΡŒΠ΅ (ссылки Π½Π° скачиваниС скриптов Π² описании)

AM амплитудная модуляция наглядно нуля. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сигналов Π² Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ’» Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄Ρ‹ для ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ Π½Π° Python: пошаговая инструкция ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты

πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ элСмСнт Π² словарС python: простой способ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π£Π·Π½Π°ΠΉ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒ python Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ 🐍✨

πŸ”§ Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сигнал Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: пошаговоС руководство для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

πŸ”’ Как Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ список Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹ΠΌΠΈ числами Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ pid скрипта python: простыС способы ΠΈ инструкция

πŸ”’ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠŸΠΈΡ‚ΠΎΠ½: ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ случайных чисСл