Здравствуйте, ilya-b-80, Вы писали:
Вообще же, в символьном виде
f(a,b) = (sin(a+b)-cosa*sinb)/(cos(a-b)-sina*sinb)
sx === sin x
cx === cos x
s(a+b) = sa*cb + ca*sb
c(a-b) = ca*cb + sa*sb
s(a+b)-ca*sb = sa*cb + ca*sb - ca*sb = sa*cb
c(a-b)-sa*sb = ca*cb + sa*sb - sa*sb = ca*cb
f(a,b) = (sa*cb)/(ca*cb)
Отсюда видно, что f(a,b) = tg a, но область определения не содержит точки, где cos b == 0 (т.е. b = (k+0.5)*П).
Поэтому эффективное вычисление этой функции сводится к вычислению тангенса средствами математической библиотеки языка.
Лобовое же решение — даст стремительный рост погрешности, особенно, когда b близко к особым точкам.
... << RSDN@Home 1.2.0 alpha rev. 655>>