Привет всем! Я работаю над веб-проектом, который распознает математические задачи с изображений. Мой OCR выдает формулы в формате ASCII Math, и теперь мне нужно их как-то вычислять.
Например, есть такое выражение:
2(3)/(7)-:-1(2)/(4)
Как бы его посчитать? Я пробовал библиотеку evaluatex, но она выдает ошибку:
Не удается распознать токен
Может, кто-нибудь знает хорошую библиотеку для этого? Или как исправить ошибку в evaluatex? Буду благодарен за любую помощь!
Для таких выражений я бы порекомендовал библиотеку math.js. Она отлично справляется с ASCII-форматом и поддерживает сложные выражения. Вот пример использования:
import * as math from 'mathjs';
const expr = '2(3)/(7)-1(2)/(4)';
const result = math.evaluate(expr);
console.log(result); // Выведет результат вычисления
Math.js также позволяет определять собственные функции и константы, что может пригодиться для более сложных кейсов. Проверьте документацию, там много полезного.
а вот я бы посоветовал посмотреть в сторону библиотеки nerdamer. она довольно мощная и умеет работать с символьными выражениями. вот как можно использовать ее для твоего примера:
nerdamer умеет упрощать выражения, решать уравнения и даже работать с матрицами. может пригодиться если твой проект будет расширяться. главное убедись что формат ascii math совпадает с тем что ожидает библиотека