Имам файл с данни, който е под формата на масив. Искам да нормализирам всички комплексни числа в този масив. Но не искам да използвам z/Abs[z] този подход. Искам да използвам различен подход като z-резултат. Например в z-score можете да намерите стандартното отклонение и можете да нормализирате всички числа, но аз се опитвам да нормализирам комплексни числа. И така, как мога да направя това?
Нормализация на комплексни числа
Отговори (2)
Z-резултат за реални числа:
Z = (X - Avg) / SD
Очевидният подход, който идва на ум, би бил изчисляването на средното и стандартното отклонение за реалната равнина и въображаемата равнина независимо.
Тогава вероятно ще променим формулата, за да използваме нещо като sqrt (сума на квадратите) подход за комбиниране на реални и въображаеми компоненти или резултати.
Zr = (Xr - AvgR) / SDr
Zi = (Xi - AvgI) / SDi
И накрая:
Zc = sqrt( Zr^2 + Zi^2)
Това вероятно би бил най-лесният начин за получаване на един Z-резултат от комплексно число в рамките на неговото разпределение.
Това, разбира се, е различно от „нормализиране“, което ще запази отделни компоненти и това, което първоначално отговорих. Но аз вярвам, че един резултат, измерващ разстоянието от средната стойност, е това, което търсите тук.
можете да нормализирате комплексния си вектор като
norm = np.exp(1j*np.angle(z))
въпреки че е по-бавен, но има предимство пред
z/abs(z)
тъй като ако z е нула и направите горното изчисление, ще получите nan. дори ако премахнете nan с 0, ще получите 0 по всякакъв начин, защото нормализираната дължина не може да бъде нула. Ако използвате този нормализиран вектор с дължина 0, за да зададете фазата на всеки друг вектор, винаги ще получавате 0. Зависи какво търсите
алтернативно можете да направите
z1=z/abs(z)
z1[np.isnan(z)]=1
тъй като нормализираната дължина трябва да бъде 1
за разбирането
exp(i * x) = cos(x) + i * sin(x)
и следователно е просто равен на cos(angle(z)) + i * sin(angle(z))
. Въпреки това, не е като angle(z)
да е добре дефинирана величина и за z = 0, така че вие просто прехвърляте отговорността за обработката на нула/безкрайност към друга функция.
- person Mojca; 24.09.2019