Странная диаграмма рассеяния греха (х) в python3 - PullRequest
0 голосов
/ 01 мая 2020

Когда я пытался построить график синусоидальной функции между -360 и 360, я наткнулся на странный результат рассеяния, который выглядел довольно прикольным. Кто-нибудь знает, что это может быть? Это фактически приближение графика греха к диаграмме рассеяния или это что-то еще?

мой код ниже:

from sympy import sin, cos, pi
import matplotlib.pyplot as plt

sin_values = []
cos_values = []

for value in range((-360),(360)):
    sin_values.append(sin(value))
    #cos_values.append(cos(value))

plt.scatter((range(-360,360)),sin_values)
#plt.scatter((range(-360,360)),cos_values,color="r")
plt.show()

https://i.stack.imgur.com/RI6RM.png

1 Ответ

0 голосов
/ 01 мая 2020

Прежде всего, для вычисления числовых значений вы должны использовать numpy вместо sympy. Sympy сделано для вычисления символов c, тогда как numpy для численного расчета (что вы делаете). Вы можете сделать массив за один снимок следующим образом:

import numpy as np
x = np.arange(-2*np.pi,2*np.pi,100)
sin_values = np.sin(x)

Во-вторых, обратите внимание, что обычно эти функции ожидают радиан , а не градусы. В вашем случае это много радиан, и вы видите алиасинг , потому что вашего разрешения x недостаточно для правильного разрешения волны. Вы можете преобразовать эти градусы в радианы, умножив их на 2pi и разделив на 360. Или построите свой массив x в лучшем диапазоне.

Надеюсь, это поможет,

...