Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

4.9.3. Иллюстративная графика пакета student

Пакет student имеет три графические функции для иллюстрации интегрирования методом прямоугольников:

leftbox(f(x), x=a..b, о) или leftbox(f(x), x=a..b, n, 'shading'=<color>, о);

rightbox(f(x), x=a..b, о) или rightbox(f(x), x=a..b, n, o);

middlebox(f(x), x=a..b, о) или middlebox(f(x), x=a..b, n, o);

Здесь f(x) — функция переменной x, x — переменная интегрирования, a — левая граница области интегрирования, b — правая граница области интегрирования, n — число показанных прямоугольников, color — цвет прямоугольников, о — параметры (см. ?plot,options).

В этих функциях прямоугольники строятся соответственно слева, справа

и посередине относительно узловых точек функции f(х), график которой также строится. Кроме того, имеется функция для построения касательной к заданной точке х=а для линии, представляющей f(x):

showtangent(f(х), х=а)

Рисунок 4.36 показывает все эти возможности пакета student. Четыре отмеченных вида графиков здесь построены в отдельных окнах.

Рис. 4.36. Примеры иллюстративной графики пакета student

Графические средства пакета student ограничены. Но они предоставляют как раз те возможности, которые отсутствуют в основных средствах построения графиков. В Maple 9/9.5 функции пакета резко расширены и мы вернемся к их рассмотрению в Главе 9.

4.9.4. Визуализация методов численного интегрирования

Пакет Student обеспечивает визуализацию ряда методов численного интегрирования: методов прямоугольников с различным расположением их, метода трапеций и метода парабол (Симпсона). Это возможно в символьном виде, например (файл intvis):

> with(student): middlesum(x*exp(-x), x=a..b);

Ниже представлено несколько примеров такой визуализации (для метода прямоугольников со средним расположением их, метода трапеций и метода Симпсона):

> with(student): middlesum(х*exp(-x), x=0..4);

> trapezoid(х*ехр(-х), x=0..4);

> simpson(x*sin(-х), х=1..4);

> evalf(%)

– 1.5719966508305

В последнем примере показано вычисление по представлению методом Симпсона.

4.10. Работа с алгебраическими кривыми

4.10.1. Пакет для работа с алгебраическими кривыми algcurves

Для работы с алгебраическими кривыми служит пакет расширения algcurves. Он загружается командами:

> restart;with(algcurves);

Ввиду важности функций пакета приведем полную форму записи и назначение наиболее важных функций этого пакета:

Weierstrassform(f,x,y,x0,y0,opt) — вычисление нормальной формы для эллиптических или гиперболических алгебраических кривых;

differentials(f, x, у, opt) — голоморфные дифференциалы алгебраических кривых;

genus(f,x,y,opt) — подлинность алгебраической кривой;

homogeneous(f,x,y,z) — создание полинома двух переменных, гомогенного в трех переменных;

homology(f, х, у) — находит канонический гомологический базис по алгоритму Треткоффа;

integral_basis(f,

х, у, S) — интегральный базис алгебраического поля функции;

is_hyperelliptic(f, х, у) — тестирует кривую на ее принадлежность к гиперболической;

j_nvariant(f,x,y) — j-инвариант алгебраической кривой;

monodromy(f, х, у, opt) — вычисляет монодромию алгебраической кривой;

parametrization(f,x,y,t) — находит параметризацию для кривой с родом (даваемым функцией genuc), равным 0;

periodmatrix(f, х, у, opt) — вычисляет периодическую матрицу кривой;

plot_knot(f,x,y,opt) — строит узел — несамопересекающуюся замкнутую кривую в трехмерном евклидовом пространстве;

puiseux(f,x=p,y,n,T) — определяет Пуизе-расширение алгебраической функции (может иметь и более простые формы записи);

singularities(f,x,y) — анализирует кривую на сингулярность.

4.10.2. Примеры работы с алгебраическими кривыми

Приведем также примеры применения функций пакета Algcurves (файл algcurve):

> Weierstrassform((y^2-1)^2+x*(x^2+1)^2, x,y,x0,y0);

> f:=у^3+х^3*у^3+х^4;

f := y3 + y3x3 + x4

> differentials(f, х, у);

> differentials(f,x,у,skip_dx);

[x², yx, yx²]

> nops(%);

3

> genus(f, x, y);

3

> homogeneous(f, x, y, z);

x4z2 +y3x33x3

> g := y^3-х*y^2+2*2^(1/2)*y^2+х^2-2*2^(1/2)*х+2+y^6;

g := y3– xy2 + 2√2 у2 + x2– 2√2x + 2 + y6

> integral_basis(g,x,y);

> is_hyperelliptic(f, x, y);

false

> f1:=у^2+х^5+1:is_hyperelliptic(f1, x, y);

true

> j_invariant(g,x,y);

> parametrization(х^4+y^4+а*х^2*y^2+b*y^3,х,y,t);

> Z := periodmatrix(f1,х,у,Riemann);

4.10.3. Построение алгебраических кривых класса knot

Функция plot_knot позволяет строить одну или несколько алгебраических кривых — узлов. Пример построения целого семейства узлов показан на рис. 4.37.

Поделиться с друзьями: