ответвлено от main/python-labs
61 строка
1.7 KiB
Markdown
61 строка
1.7 KiB
Markdown
## Индивидуально контрольное задание по Теме 5
|
|
|
|
Володин Денис, А-02-23
|
|
|
|
|
|
## Задание
|
|
|
|
12. Создайте список с 20 комплексными числами, у которых вещественная и мнимая части – случайные, равномерно распределенные числа в диапазоне от 0 до 1. Рассчитайте среднее значение их фазы.
|
|
|
|
|
|
## Решение
|
|
|
|
```py
|
|
import numpy as np
|
|
import random
|
|
compl = []
|
|
for i in range(20):
|
|
r = random.uniform(0, 1)
|
|
im = random.uniform(0, 1)
|
|
compl.append(complex(r, im))
|
|
print("Созданные комплексные числа:")
|
|
for i, num in enumerate(compl, 1):
|
|
print(f"{i:2d}. {num.real:.4f} + {num.imag:.4f}j")
|
|
phases_rad = [np.angle(num) for num in compl]
|
|
phases_deg = [np.degrees(phase) for phase in phases_rad]
|
|
mean_phase_rad = np.mean(phases_rad)
|
|
mean_phase_deg = np.degrees(mean_phase_rad)
|
|
print(f"\nСреднее значение фазы:")
|
|
print(f"В радианах: {mean_phase_rad:.4f}")
|
|
print(f"В градусах: {mean_phase_deg:.2f}")
|
|
```
|
|
|
|
## Результат
|
|
|
|
```py
|
|
Созданные комплексные числа:
|
|
1. 0.3715 + 0.4657j
|
|
2. 0.7906 + 0.3023j
|
|
3. 0.1302 + 0.2657j
|
|
4. 0.0859 + 0.0731j
|
|
5. 0.8719 + 0.8797j
|
|
6. 0.9041 + 0.7042j
|
|
7. 0.3232 + 0.3450j
|
|
8. 0.1281 + 0.0271j
|
|
9. 0.2694 + 0.1986j
|
|
10. 0.7348 + 0.1524j
|
|
11. 0.0879 + 0.5416j
|
|
12. 0.3349 + 0.7558j
|
|
13. 0.4353 + 0.7974j
|
|
14. 0.3121 + 0.7053j
|
|
15. 0.5391 + 0.4458j
|
|
16. 0.3390 + 0.9174j
|
|
17. 0.7525 + 0.7088j
|
|
18. 0.2325 + 0.3978j
|
|
19. 0.7272 + 0.1024j
|
|
20. 0.7688 + 0.2274j
|
|
|
|
Среднее значение фазы:
|
|
В радианах: 0.7661
|
|
В градусах: 43.89
|
|
``` |