#python #arrays #implementation #complex-numbers
#python #массивы #реализация #комплексные числа
Вопрос:
У меня есть np.array с формой (300,300) с комплексными значениями a bj. Я хотел бы преобразовать каждый элемент в полярную форму R exp{j O}
Я уже пробовал
cmath.polar(data)
Но это не работает для массива, поэтому я попробую что-то вроде этого
complexe = np.zeros((len(data),len(data[0])))
count_arr = 0
for arr in data:
count_item = 0
for itm in arr:
complexe[count_arr][count_item] = cmath.polar(itm)
count_item = count_item 1
count_arr = count_arr 1
Это не работает, потому что вывод cmath.polar — это кортеж (я думаю).
Я новичок в python, поэтому любая помощь будет приветствоваться!
Комментарии:
1. Во-первых, знайте, что вы можете заставить счетчики работать автоматически, используя
for count_arr, arr in enumerate(data)
иfor count_item, itm in enumerate(arr)
.
Ответ №1:
вы можете получить свои R и O непосредственно в numpy:
R = np.abs(z), O = np.angle(z)