我需要计算一个Angular 的变化并存储在一个数组中,我遇到了下面的问题:Angular 通过计算增加了它的值,当Angular 的值大于90°时,python开始选择补充值,而不是延续值,类似于这样:
不良方向(正在发生):23.45°,26.7°,...,84.5°,88.33°,85°,82.3° ...
理想方向:23.45°,26.7°,...,84.5°,88.33°,91.2°,94.7° ...
我的代码是:
import math as mt
import numpy as np
l = 85
s = 170
q = 30.07
p = 120
theta = (3.81*np.pi)/180
alfa = np.linspace((104.07*np.pi)/180, (26.19*np.pi)/180, 40)
d = np.sqrt(s**2 + q**2 - 2*s*q*np.cos(alfa))
gama = np.arccos((l**2 + p**2 - s**2 - q**2 + 2*s*q*np.cos(alfa))/(2*l*p))
betalinha = np.arcsin((s / d) * np.sin(alfa))*180/np.pi
print(np.around(betalinha, 2))
字符串
输出量:[66.59 68.46 70.34 72.22 74.12 76.03 77.95 79.88 81.82 83.77 85.74 87.72 89.788.2986.28 84.25 82.21 80.16 78.09 76.01 73.92 71.81 69.69 67.55 65.4 63.23 61.05 58.86 56.65 54.43 52.2 49.95 47.68 45.41 43.12 40.82 38.5 36.18 33.84 31.49]
2条答案
按热度按时间e3bfsja21#
我不知道问题的根源是什么,但我相信你可以纠正它,
1.计算值的差异(小于前一个值的值将产生负值)
1.将diff乘以2和cumsum
1.将其添加到
betalinha
字符串
输出量:
型
pdtvr36n2#
字符串
输出量:
型