математика — Как я могу выполнить вычисления на многочленах в PHP?

Например, как я могу определить частное и остаток, когда что-то вроде x^4 − 3x^2 + 4 делится на x − 2,

Я не могу понять, как это сделать без какой-либо библиотеки. Я не против использования какой-либо библиотеки, но могу найти только одну https://github.com/markrogoyski/math-php и это не поддерживает то, что я пытаюсь сделать.

0

Решение

Синтетическое подразделение был способ, которым меня учили. Работайте с листком бумаги и карандашом.

(x^4 -3x^2 + 4)/(x-2) = x^3 + 2x^2 + x + 2 with a remainder of 8.

Вы должны быть в состоянии понять, как манипулировать массивами коэффициентов, чтобы получить нужный вам результат.

Я вижу три массива здесь:

  1. Коэффициенты в многочлене делятся (пять коэффициентов — множитель для кубического и линейного слагаемых равны нулю).
  2. Коэффициенты в делительном полиноме (два коэффициента — линейный и постоянный члены).
  3. Полученный полином. Инициализируйте его, чтобы коэффициенты полинома были разделены.

Другой идеей было бы написать объекты для Monomial и Polynomial. Постройте правильное поведение в этих объектах.

2

Другие решения

Самый простой способ:

  1. sudo apt-get install maxima

  2. в PHP $out = shell_exec("maxima --very-quiet -r 'divide(x^4-3*x^2+4, x-2);'");

Дает ответ в стандартном выводе:

    3      2
[x  + 2 x  + x + 2, 8]

Я не использовал деление полиномов раньше, но я подозреваю, что остаток здесь дается не в виде дроби. В этом случае просто добавьте знаменатель в PHP-часть форматирования ответа — в данном случае 8 / (x-2).

1

По вопросам рекламы [email protected]