Что неверно в цикле? Всем привет. Проблема в следующем: нужно все элементы массива всего лишь навсего прогнать через формулу. Формулу Эйлера: cos(i) + 1j*sin(i), если шо. Вот почему-то на выходе получается одно значение в массиве конечном. Не понимаю -- почему?coord = ... print(coord) #с массивом всё в порядке, он выводится. #создаю новый массив-в него будут записываться прогнанные через формулу значения coordarray = [] for i in coord: x = np.real(cos(i)) + np.imag(sin(i)*1j) coordarray.append(x) print('Coordinates: ') print(coordarray) 1j -- это мнимая единица, отсюда же и использование np.real/np.imag
Проблема заключается в том, что вы должны использовать функции np.cos и np.sin для вычисления косинуса и синуса в формуле, а не обычные функции из модуля math.
Исправленный код будет выглядеть следующим образом:
import numpy as np # Создаем массив coord coord = [1, 2, 3, 4, 5] print(coord) # с массивом все в порядке # Cоздаем новый массив, в который будут записываться прогнанные через формулу значения coordarray = [] for i in coord: x = np.real(np.cos(i) + 1j*np.sin(i)) coordarray.append(x) print('Coordinates: ') print(coordarray)
Теперь код должен правильно вычислять значения для каждого элемента массива coord.
Проблема заключается в том, что вы должны использовать функции np.cos и np.sin для вычисления косинуса и синуса в формуле, а не обычные функции из модуля math.
Исправленный код будет выглядеть следующим образом:
import numpy as np# Создаем массив coord
coord = [1, 2, 3, 4, 5]
print(coord) # с массивом все в порядке
# Cоздаем новый массив, в который будут записываться прогнанные через формулу значения
coordarray = []
for i in coord:
x = np.real(np.cos(i) + 1j*np.sin(i))
coordarray.append(x)
print('Coordinates: ')
print(coordarray)
Теперь код должен правильно вычислять значения для каждого элемента массива coord.