Вывод и преобразования символьных выражений

Вывод символьного выражения

К сожалению, в отличие от современных систем символьной математики (Mathcad, Maple или Mathematica), MATLAB пока не способна выводить выражения и результаты их преобразований в естественной математической форме — с использованием общепринятых спецзнаков для отображения интегралов, сумм, произведений и т. д. Этот недостаток, однако, часто оборачивается достоинством — запись осуществляется в простом текстовом формате, облегчающем ввод выражений. Да и вывод символьных выражений в таком формате поддерживается практически всеми устройствами вывода.

Тем не менее некоторые ограниченные текстовым форматом возможности близкого к математическому виду вывода обеспечивает функция pretty:

  • • pretty (S) — дает вывод выражения S в формате, приближенном к математическому;
  • • pretty (S,n) — аналогична предшествующей функции, но задает вывод в п позициях строки (по умолчанию п — 79).

Примеры:

» x=sym ( ' х ');

» pretty(xA2)

2

х

>> pretty(int(хл2,х))

  • 3
  • 1/3 х

>> pretty (хл3,10)

3

х

>> syms х у z

>> pretty(int(sin(х),х))

-cos(x)

>> S= (1+хл2)/(ул2-гл2);

>> pretty(y)

У

» pretty (S)

  • 2
  • 1 + x
  • 2 2

у - z

Нетрудно заметить, что в выведенных выражениях используются надстрочные показатели степени и (в необходимых случаях) знаки деления в виде горизонтальной черты. Однако для простых констант (например, 1/3) по-прежнему используется знак деления в виде наклонной черты. В целом такой вывод является лишь пародией на запись математических выражений в обычной математической форме.

Представления выражений в форме LaTeX

При подготовке материалов математической литературы давно используется специальный язык LaTeX, позволяющий задавать математические выражения с высокой точностью разметки. Функция latex (S) возвращает выражение s в форме языка LaTeX. Примеры применения этой функции:

>> syms х у z

>> latex((1+хЛ2)/(yA2-zЛ2))

ans =

{frac {1+{х}Л{2}}[1]{{z}~{4} } }

Следует отметить, что LaTeX — это, в сущности, язык программирования разметки математических выражений и текстов, а его применение с использованием функции latex (S) не требует от пользователя знакомства с этим языком.

НО

  • [1] у)Л{2}-{г}Л{2} } }

    » 3=хЛ2*уЛ3/zЛ4;

    » latex (S)

    ans =

    {frac {{х}л{2}{у}л{3

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >