-2
I 함께 일하고 식파이썬 : 플로트 인수 제 1 종 베셀 함수 플로팅
$$ E = M_e + \ sum_ {N = 1}^N \의 FRAC {2} {n은 $$
여기서 $ \ mathcal {J} _n (x) $는 첫 번째 종류의 n 번째 베셀 함수입니다.
테스트로서 나는 처음 6 개의 베셀 기능과 모든 것이 올바르게 작동 하는지를 테스트했습니다. $ n * e $의 주장을 입력하면 그 음모는 내가 예상했던 것과 다릅니다.
import numpy as np
import pylab as py
import scipy.special as sp
x = np.linspace(0, 15, 500000)
for v in range(0, 6):
py.plot(x, sp.jv(v, x))
py.xlim((0, 15))
py.ylim((-0.5, 1.1))
py.legend(('$\mathcal{J}_0(x)$', '$\mathcal{J}_1(x)$', '$\mathcal{J}_2(x)$',
'$\mathcal{J}_3(x)$', '$\mathcal{J}_4(x)$', '$\mathcal{J}_5(x)$'),
loc = 0)
py.xlabel('$x$')
py.ylabel('$\mathcal{J}_n(x)$')
#py.title('Plots of the first six Bessel Functions')
py.grid(True)
#py.savefig('besseln0to6.eps', format = 'eps')
py.show()
e = 0.99
def E(M):
return (M + sum(2.0/n * sp.jv(n * e, M) * np.sin(n * M)
for n in range(1, 3, 1)))
M = np.linspace(0, 2 * np.pi, 500000)
fig2 = py.figure()
ax2 = fig2.add_subplot(111, aspect = 'equal')
ax2.plot(E(M), M, 'b')
def E2(M):
return (M + sum(2.0/n * sp.jv(n * e, M) * np.sin(n * M)
for n in range(1, 11, 1)))
ax2.plot(E2(M), M, 'r')
py.xlim((0, 2 * np.pi))
py.ylim((0, 2 * np.pi))
py.xlabel('Eccentric anomaly, $E$')
py.ylabel('Mean anomaly, $M_e$')
py.show()
이 플롯은 순서이어야하는 반면, 문제가 베셀 함수
sp.jv(n * e, M)
의 사용이다의 N = 10