Решение Sin(u)=t
содержит две серии (из-за симметрии по отношению к вертикальной оси)
u = arcsin(t) + 2*Pi*k
u = Pi - arcsin(t) + 2*Pi*n
Таким образом, вы должны сформировать список возможных сущностей с обеими ветвями:
for n in range(-5, 5):
arcsin = round((math.asin(sin/a)-c+2*(math.pi)*n)/b, 2)
arcsin_all.append(arcsin)
arcsin = round(((math.pi) - math.asin(sin/a) - c+ 2*(math.pi)*n)/b, 2)
arcsin_all.append(arcsin)
Кроме того, ваше округление приводит к числовым ошибкам - они часто выявляются, если вы печатаете список arcsin_all.Например, здесь 4.92 <> 4.93, поэтому вы должны выбрать другой метод проверки - сравнить значения с некоторым абсолютным допуском (epsylon)
A = -4.93 , B = 0.09 , C = -0.22 , X = 4.93
Y = -1.09
[-344.14, -314.19, -274.33, -244.38, -204.52, -174.57, -134.7, -104.75, -64.89, -34.94, 4.92, 34.87, 74.73, 104.69, 144.55, 174.5, 214.36, 244.31, 284.17, 314.13]
Not Solved