Задать вопрос
@Timebird

Что неверно в цикле?

Всем привет. Проблема в следующем: нужно все элементы массива всего лишь навсего прогнать через формулу. Формулу Эйлера: 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
  • Вопрос задан
  • 499 просмотров
Подписаться 1 Оценить 3 комментария
Решения вопроса 3
@lem_prod
ну i это итерация, а j от куда берется?
Ответ написан
@Timebird Автор вопроса
Забыл отступ. Проблема решена, всем спасибо).
Ответ написан
DemiKam
@DemiKam
import math
import numpy as np

coord = [1,2,3,4,5]
print(coord) #(если подставить просто список, то все работает)

#создаю новый массив-в него будут записываться прогнанные через формулу значения
coordarray = []
for i in coord:
x = np.real(math.cos(i)) + np.imag(math.sin(i) * 1j)
coordarray.append(x)
print('Coordinates: ')
print(coordarray)
------------------------------------------------------------------------------------------------
demieno@development:~/development/dev_lesson_py$ python zadachka.py
[1, 2, 3, 4, 5]
Coordinates:
[1.3817732906760363, 0.4931505902785393, -0.84887248854057817, -1.4104461161715403, -0.67526208919991215]
demieno@development:~/development/dev_lesson_py$
--------------------------------------------------------------------------------------------------------
проверяйте массив!
сам по себе цикл по формуле Эйлера составлен правильно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы