Если взгляд результатов, слишком сложный

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Используйте опции для узких результатов

По умолчанию решатели MuPAD® возвращают все возможные решения независимо от своей длины. Кроме того, по умолчанию решатели принимают, что решения являются комплексными числами. Чтобы ограничить количество решений некоторых определенных единиц, решатели предоставляют много возможностей. Для получения информации об опциях, принятых конкретным решателем, смотрите страницу для того решателя. Например, для списка возможностей, предоставленных общим решателем, смотрите страницу справки solve.

Следующее уравнение имеет пять решений:

solve(x^5 - 1, x)

Если вам нужно решение в вещественных числах, используйте опцию Real. Единственное действительное решение этого уравнения равняется 1:

solve(x^5 - 1, x, Real)

Для следующего стандартного квадратного уравнения решатель возвращает решения для всех возможных значений символьных параметров a, b и c:

solve(a*x^2 + b*x + c, x)

Чтобы игнорировать особые случаи, используйте опцию IgnoreSpecialCases:

solve(a*x^2 + b*x + c, x, IgnoreSpecialCases)

Для следующего уравнения решатель возвращает полное, а скорее долго и сложное решение:

solve(x^(5/2) + 1/x^(5/2) = 1, x)

Если вы хотите более простое и более практическое решение, попробуйте опцию IgnoreAnalyticConstraints. При использовании этой опции решатель использует набор упрощенных математических правил, которые не обычно правильны. Возвращенные решения имеют тенденцию быть самыми полезными для многих проблем в разработке и физике. Обратите внимание на то, что с этой опцией решатель не гарантирует правильности и полноты результата:

solve(x^(5/2) + 1/x^(5/2) = 1, x, IgnoreAnalyticConstraints)

См. список опций, принятых общим решателем solve.

Используйте предположения узким результатам

Если вы хотите ограничить количество решений, но список опций, доступных для solve, не имеет подходящего варианта, попытайтесь использовать предположения. Предположим для следующего многочленного выражения, вам нужны только положительные решения. Используйте команду assuming, чтобы временно принять, что x является положительным числом. Под этим предположением решатель возвращает четыре положительных решения:

solve(x^7 + 2*x^6 - 59*x^5 - 106*x^4 + 478*x^3 + 284*x^2
      - 1400*x + 800, x) assuming x > 0

Без предположения решатель возвращает все семь решений:

solve(x^7 + 2*x^6 - 59*x^5 - 106*x^4 + 478*x^3 + 284*x^2
      - 1400*x + 800, x)

Чтобы сделать несколько предположений, объедините их с and:

solve([a*x + b*y = c, h*x - g*y = f], [x, y])
      assuming f = c and a = h and a <> 0
{ { --     f + g z        -- }
{ { |  x = -------, y = z  | }  if  b + g = 0
{ { --        h           -- }
{
{    { --     f        -- }
{    { |  x = -, y = 0  | }     if  b + g <> 0
{    { --     h        -- }

Для получения дополнительной информации смотрите Свойства и Предположения.

Упростите решения

При решении уравнений MuPAD автоматически упрощает много объектов, таких как некоторые вызовы функции и арифметические выражения с числами. Автоматические упрощения уменьшают сложность выражений, используемых на промежуточных шагах, который улучшает производительность решателей.

Решатели MuPAD не вызывают функции упрощения для конечных результатов. Когда вы вызываете команду solve, можно получить долгое и сложное решение:

S := solve((sin(x/2) - cos(x/2))/(sin(x/2) + cos(x/2)) = I/2, x)

Чтобы упростить такие результаты, используйте simplify или Simplify. Функция simplify быстрее:

simplify(S)

Simplify медленнее, но более мощен:

Simplify(S)

Для получения дополнительной информации смотрите Упрощение.