python画正切函数_python-使用arctan / arctan2绘制从0到2π的a

我试图在柯蒂斯的《轨道力学》中复制一幅情节,但我完全不明白.但是,我已经从np.arctan切换到np.arctan2取得了进展.

也许我实施的arctan2错误?

import pylab

import numpy as np

e = np.arange(0.0, 1.0, 0.15).reshape(-1, 1)

nu = np.linspace(0.001, 2 * np.pi - 0.001, 50000)

M2evals = (2 * np.arctan2(1, 1 / (((1 - e) / (1 + e)) ** 0.5 * np.tan(nu / 2) -

e * (1 - e ** 2) ** 0.5 * np.sin(nu) / (1 + e * np.cos(nu)))))

fig2 = pylab.figure()

ax2 = fig2.add_subplot(111)

for Me2, _e in zip(M2evals, e.ravel()):

ax2.plot(nu.ravel(), Me2, label = str(_e))

pylab.legend()

pylab.xlim((0, 7.75))

pylab.ylim((0, 2 * np.pi))

pylab.show()

在下面的图像中,不连续弹出.该函数应该是平滑的,并且在(0,2pi)的y范围内的0和2 pi处连接,而不接触0和2pi.

教科书情节和方程式:

应Saullo Castro的要求,我被告知:

“问题可能在于提供“原理值”作为输出的反正切函数.

因此,如果x是第二象限或第三象限中的一个角度,则arctan(tan(x))不会产生x.如果将arctan(tan(x))从x = 0绘制到x = Pi,则会发现它在x = Pi / 2处具有不连续的跳跃.

对于您的情况,我相信您可以编写arctan2(1,1 / arg)而不是编写arctan(arg),其中arg是arctan函数的参数.这样,当arg变为负数时,arctan2将在第二象限而不是第四象限中产生一个角度.”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值