У меня есть целая куча математических функций, являющихся выход из программы в этом формате:Форматирование математических функций
(704253724578.0182000000000000 .* (mydivide (mydivide (mydivide (mysqrt (- X13 X11)) (mydivide X18 X15)) (* (square (mydivide (* X1 X20) X19)) X2)) (mydivide (* (* X1 X20) (mydivide X25 X15)) X9))) + 77.2424201451314200
Мне нужно написать скрипт, чтобы преобразовать их в несколько читаемых форматов, как это:
(704253724578.0182000000000000 * (((sqrt(X13-X11)/(X18/X15)) /((((X1*X20)/X19)^2) * X2))/ (((X1 * X20) * (X25/X15))/X9))) + 77.2424201451314200
Любые идеи о том, что является лучшим способом сделать это в java? Или есть ли еще какие-нибудь другие инструменты для этого, кроме java?
Спасибо!
Это похоже на терминологическую алгебру для проблемы с инфиксной нотацией, которая не зависит от языка. –
При использовании степеней/экспонентов не используйте символ '^', он не делает то, что, по вашему мнению, делает. если вам нужно 'x', поднятое до степени' 2' (например, 'x^2'), вы должны использовать' Math.pow (x, 2) '. Оператор '^' фактически является ["побитовым исключением OR"] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html). –
прав ... Я на самом деле не пытаюсь сделать математику. Я просто пытаюсь отформатировать строки, чтобы перейти от префиксной нотации к нотации infix. Любая идея о том, как форматировать строки? Благодаря! –