Я делаю:
echo "scale=2; sqrt( (-9.522 - -9.522)**2 + (-17.145 - -17.145)**2 + (-2.689 - -2.689)**2 )" | bc
и получаю:
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
Я не понимаю, что там происходит.
Пожалуйста, какие-нибудь предложения?
Оператор возведения в степень в bc
равен ^
, а не **
. Из man bc
:
expr ^ expr Результатом выражения является значение первого возведенного в секунда. Второе выражение должно быть целым числом.
Пр.
$ echo "scale=2; sqrt(2)^2" | bc
1.98