Иллюстрированный самоучитель по Maple 6/7

Вывод в специальных форматах

Вывод в формате LaTeX

Maple 7 имеет ряд средств для общения с другими программами. Часть из них, в основном относящаяся к обмену через файлы, уже была описана. Однако Maple 7 способна генерировать коды для прямого их включения в такие программы, причем не только математические.

Для подготовки математических статей и книг широкое распространение получили редакторы ТеХ и LaTeX. Для подготовки выражений или файлов в их формате служит функция:

latex(expr.filename)

Параметр filename не обязателен, если достаточно получить нужное выражение в ячейке вывода Maple 7:

> latex(a*x^2+b*x+c):
а{х}^{2}+bх+с
> latex(diff(xAn.x$2));
{\frac {{х}^{n}{n}^{2}}{{х}^{2}}{\frас {{х}^{n}n}{{х}^{2}}}

Генерация кодов на языке Фортран

Язык Фортран вот уже многие десятилетия используется для программирования вычислительных задач. Накоплены обширные библиотеки решения таких задач на Фортране. Почитателей этого языка Maple 7 порадует тем, что она позволяет готовить коды для программ на Фортране. Для этого вначале надо загрузить библиотечную функцию:

> with(codegen.fortran);
[fortran ]

После этого может использоваться функция fortran:

fortran(expr.filename=str.optimized)

Два последних параметра не обязательны при выводе выражения ехрr в форме, присущей языку Фортран:

> fortran(a*x*2+b*x+c);
t0 = a*x**2+b*x+c
> fortran(diff(x"n,x$2));
t0 = x**n*n**2/x**2-x**n*n/x**2

Параметр optimize позволяет генерировать оптимизированные коды:

> fortran(a*x*2+b*x+c.optimized);
t1 = x**2 t4 = a*tl+b*x+c

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

Генерация кодов на языке С

Язык С (Си) также широко используется для решения вычислительных задач. Достаточно отметить, что сама система Maple 7 создана на языке С.

Для генерации кодов на языке С вначале надо подключить соответствующую функцию:

> with(codegen.C); [С]

Затем можно использовать функцию С:

С(ехрr.folename=str.optimized)

Эта функция используется по аналогии с функцией fortran, что и показывают приведенные ниже примеры:

> C(d1ff(x4>,x$2));
t0 = pow(x,1.0*b)*b*b/(x*x)-pow(x,1.0*b)*b/(x*x);
> C(diff(xAb,x$2),optimized);
t1 = pow(x,1.0*b);
t2 = b*b;
t4 = x*x;
t5 = 1/t4;
t9 = t1*t2*t5-tl*b*t5;

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.