Maxima руководство пользователя

Время на прочтение
13 мин

Количество просмотров 26K

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

Я думаю, всем из нас известна данная система компьютерной алгебры. Она не является конкурентом Wolfram Mathematica, но она обладает именно тем функционалом, который я требую от математического софта. Если говорить проще и доступнее — считать можно на всём, от палочек до суперкомпьютеров, и далеко не всегда задачи инженерной практики целиком переносятся с бумаги в программный код. Одним из примеров, который я честно говоря, еле-еле застал, является сегодня забытая поделка нашего конверсионного производства — цельнометаллический бытовой вакуумный гражданский термос, который выпускался ранее ещё в СССР на Урале. Чтобы наладить его производство институт, в котором я учусь, де-факто вручную на счётных машинках высчитал все необходимые параметры рабочего оборудования. Поэтому лицензия на Mathematica — не показатель и не ценз пригодности к практике. Считать, повторюсь, можно на всём.

От слов к делу. Ниже разбиты на категории те моменты в документации Maxima, которые желательно знать для начинающего пользователя данной СКА.

Общий функционал

** или ^ — возведение в степень;
% — последняя ячейка вывода;
_ — последняя ячейка ввода;
%th(n) — возвращает n-ю с конца ячейку вывода;
$ — глушение вывода результата;
kill(all) — очистить сеанс;
describe(name) или? name — помощь по конкретным словам;
example(name) — пример использования;
demo() — выполняет программы из демонстрационных файлов, поставляемых с системой;
‘выражение — предотвращает вычисление выражения;
»выражение — аналог ev (принудительное вычисление выражения);
num(%) — числитель дроби;
denom(%) — знаменатель дроби;
coeff(n,x,3) — возвращает коэффициент при переменной в заданной степени;
depends([m,y],[x,z]) — устанавливает зависимость m(x,z) и y(x,z);
second(y = 14) — извлечёт 14;
subst — подстановка одного выражения в другое;
changevar (%, x — 3 — y ,y ,x); — замена переменных в выражении;
%, y=x-3 — обратная подстановка;
float(%) — преобразовать к вещественной форме;
nouns(%) — раскрывает вообще все несовершённые формы – и производные в том числе;
eval – напротив, проводит дополнительно ещё один процесс вычисления. в выражения тоже могут входить некоторые символы, которые тоже могут иметь свои значения; и такая цепочка «вложенных значений» может продолжаться сколь угодно глубоко. Один вызов функции ev (без опции eval) опускается по этой цепочке в глубину на один уровень: noeval блокирует сам этап вычисления как таковой; т.е. её можно использовать для того, чтобы применить к выражению другие опции функции ev, не перевычисляя его;
lhs(eq) — rhs(eq) — левая и правая части некоторого выражения;
eliminate([x+y+z=1,x+y=2,x+z=3],[z]) — исключить из системы уравнений переменную или несколько переменных, то есть уменьшить размерность системы;
gcd(420,1176) — НОД;
mod(x,y) — остаток от деления x на y со знаком x;
signum(x) — вернёт +1 если x >0, -1 если x <0;
max/min;
log(x) — НАТУРАЛЬНЫЙ логарифм («ln(x)»);
floor(4.445) — округление вниз;
ceiling(4.445) — округление вверх;
listofvars(%) превращает исходное выражение в список содержащихся в нем переменных;
numer:true (или numeric:true) — проведение расчётов только с плавающей точкой, а не с рациональными числами;
bindtest — запрещает использовать символ в выражениях до присвоения ему значения;
batch() загружает Maxima-файл с расширением .mac или .mc (от первоначального названия программы – Macsyma) и выполняет содержащиеся в нем выражения.
batchload(), подгружает пакетный файл «молча»: все назначенные в нем функции и переменные становятся доступны, но результаты не видны, и весь хранимый ввод-вывод, включая значения символов % и _ и результаты, возвращаемые функцией %th(), остается тем же, что и до вызова.
file_search_maxima — переменная, содержащая каталоги пользовательских файлов и файлов самой СКА;
~/.maxima — стандартный каталог системы;
file_search_lisp и file_search_demo — функции для поиска соответствующих файлов;
load() — обертка над двумя функциями загрузки файлов, просто короче;
loadfile() -загружает файл с исходным кодом Lisp (парна к save());
stringout()- выгружает в файл любые выражения и функции Maxima;
declare() — внести факт в базу фактов;
facts(name) или facts() — узнать текущее состояние базы;
remove() — удалить свойства из базы;
assume() — в качестве аргументов принимает в любом количестве самые обыкновенные равенства и неравенства в логической форме, то есть не «a=b», «a#b», а «equal(a,b)», «not equal (a,b)». Из логических операторов допускается также использование and (по сути assume(x>0 and x<1) это то же самое, что и assume(x>0, x<1)), но не or – база фактов не поддерживает информацию вида «или»; и речь не о синтаксисе, а именно о конструкциях, то есть выражения типа not(a>b and a<c) тоже недопустимы. Факты, добавленные assume(), также видны функции facts():

Производные, пределы, ряды…

diff(выражение) — находит полный дифференциал выражения, который является суммой всех частныхпроизводных по переменным выражения;
diff(выражение, переменная) — находит частную производную первого порядка;
diff(выражение, переменная, N) — находит частную производную N-го порядка;
diff(выражение, х_1, N_1, х_2, N_2, …) —находит сумму частных производных;
derivlist(x, y, …, v) – производные относительно переменных, заданных в качестве аргументов, а также полные дифференциалы (так как они не зависят ни от каких переменных);
integrate(%,x) — интегрирование;
romberg(cos(sin(x+1)), x, 0, 1) — численное интегрирование методом Ромберга;
limit ((x^2 — 1)/(x^2 + 1), x, inf) — вычисление пределов;
limit ((x^2 — 1)/(x^2 + 1), x, minf);
limit (tan(x), x, %pi/2, plus) — предел справа;
limit (tan(x), x, %pi/2, minus) — слева;
tlimit(…) — попытка найти предел с поднятым флагом tlimswitch (см. ниже);
sum(i, i, 1, 100) — сумма ряда;
product — произведение ряда (синтаксис аналогично sum);
sum(1/x^2, x, 1, inf), simpsum=true; — чтобы выполнить суммирование, нужно указать опцию «simpsum=true»;
sumcontract(sum1+sum2) — сокращение сум;
taylor(sin(x), x, 0, 8) — ряды;
niceindices(powerseries(sin(x), x, 0)) — ряды с упрощением;

Упрощения

simp: false — отключить принудительное упрощение «на лету»;
ratdenomdivide — по умолчанию системная переменная имеет значение «true». В этом случае каждая дробь, в которой числитель является суммой, раскладывается на сумму дробей с одинаковым знаменателем. Если же присвоить этой опции значения «false», то тогда все дроби с одинаковым знаменателем будут объединены в одну дробь с числителем в виде суммы числителей начальных дробей;
expand() — раскрыть скобки, упростить;
distrib() – expand(), но только на один уровень в глубину;
combine() — функция, собирающая воедино дроби с одинаковыми знаменателями;
trigsimp(%) — тригонометрические упрощения через основное тригонометрическое тождество;
trigrat(%) — аналогично, посильнее;
trigreduсe(%) — преобразовать тригонометрические выражения в канонические конечные тригонометрические ряды (Fourier sums) [преобразует тригонометрическое выражение как сумма слагаемых, каждое из которых содержит один синус или косинус];
trigexpand(%) — «раскрывает» аргументы тригонометрических функций, согласно правилам тригонометрических функций от суммы углов;
partfrac(%) — разложение на простые дроби;
ratsimp(%) — быстро упростить сумму рациональных выражений;
fullratsimp(выражение) — последовательно применяет к выражению функцию ratsimp, а также некоторые нерациональные преобразования и повторяет эти действия в цикле до тех пор, пока выражение не перестанет в процессе преобразования изменяться (медленнее, зато дает более надежный результат);
ratexpand(%) — приводит дроби к общему знаменателю;
radcan(%) — «сократить» экспоненты с логарифмами, перейдя к каноническому радикалу [упрощение показательных, логарифмических и степенных (с рациональными степенями) функций];
factor — максимально сворачивает выражение в скобки;
factorsum() — если многочлен не может быть представлен в виде произведения нескольких сомножителей, его можно попытаться преобразовать в сумму таких произведений;
0. Также имеются такие функции как: atensimp, foursimp, fullratsimp, logarc, rootscontract, scsimp, simplify_sum, vectorsimp.
1. После ratexpand() и в числителе, и в знаменателе дроби все скобки будут раскрыты, в случае же rat() слагаемые, где имеются, например, две переменные, будут сгруппированы, и одна из них будет вынесена за скобки.
2. expand раскрывает скобки на всех уровнях вложенности, а ratexpand раскрывает рациональное выражение только первого уровня, при этом подвыражения, которые не являются рациональными, не обрабатываются;
3. ratexpand приводит дроби-слагаемые к общему знаменателю, а expand этого не делает;
4. На expand не влияет системная опция ratdenomdivide;
5. expand не преобразует в рациональные числа конечную десятичную запись независимо от значения системной опции keepfloat.
6. maxposex и maxnegex — переменные, управляющие раскрытием возведения в целую степень — максимальные положительный и отрицательный показатель степени, которые будут раскрываться этой функцией expand ( По умолчанию 1000), переназначить можно прямо в функции expand();
7. expop и expon — переменные, задают максимальные положительную и отрицательную степени, которые будут раскрываться автоматически, без вызова функций группы expand (по умолчанию 0, то есть автоматически степени не раскрываются вообще);
8. Флаг – halfangles – управляет раскрытием формул половинных углов;
Два флага – trigexpandplus и trigexpandtimes – отвечают соответственно за применение формул сумм углов и кратных углов (по умолчанию установлены);
9. Флаги trigsign и triginverses — первый принимает традиционные два значения (по умолчанию – true) и регулирует вынос знака за пределы тригонометрической функции. Флаг triginverses – трехзначный, и умолчательное его значение равно all. Он отвечает за обработку сочетаний вида sin(asin(x)) или atan(tan(x)). Значение all позволяет раскрывать эти сочетания в обоих направлениях (напомню, что при этом часть корней будет теряться); значение true оставляет разрешенным раскрытие только вида sin(asin(x)), то есть блокирует вариант с потерями периодических значений; а случай false запрещает оба направления преобразований;
10. Флаг tlimswitch. По умолчанию он тоже выключен, а если его включить, функция limit будет, при невозможности найти предел другими способами, пытаться его найти путем разложения подпредельной функции в ряд Тейлора в окрестности заданной точки;
11. Единственный флаг, имеющий прямое отношение к самой функции diff – это флаг derivabbrev, который влияет на отображение производных в ячейках вывода Maxima. По умолчанию он равен false, и производные обозначаются в виде дробей с буквой d; если же его выставить в true, производные будут отображаться в сокращенном виде, с переменными дифференцирования записанными в виде индексов.
12. solveradcan — флаг, по умолчание false, а выставив этот флаг в true, мы заставим solve применять radcan, что в некоторых случаях может помочь разрешить проблемы, которые без этого ключа приведут к невозможности найти точное решение.

Матрицы

A: matrix([1,2],[3,4]);
Определитель матрицы. Функция determinant(matrix).
Транспонирование матрицы. Функция transpose(matrix).
Вычисление обратной матрицы. Функция invert(matrix).
Построение характеристического многочлена матрицы. Функция charpoly(matrix, var).
Сложение матриц (знак «+»). Почленно складывает все элементы двух матриц.
Вычитание (знак «-»). Совершенно аналогичен сложению, но элементы матриц вычитаются.
Деление матриц (знак «/»). Деление слабо отличается от сложения, каждый элемент одной матрицы делится на соответствующий элемент другой матрицы.
Перемножение матриц почленно (знак «*»). Этот оператор работает также как и сложение: элементы первой матрицы умножаются на соответствующие элементы второй матрицы. Это не то умножениематриц, которое обычно подразумевается в курсе линейной алгебры!
Умножение матриц (знак «.», точка).
addcol(V1,[9,10]) — добавление столбца к матрице;
addrow(V1,[9,10]) — добавление строки к матрице;
V1: submatrix(V1, 6,7) — удалить из матрицы V1 6-й и 7-й столбец;
submatrix(начальный номер удаляемой строки, конечный номер удаляемой строки; Имя
матрицы;) — уменьшение количества строк;
M[j, i] — обращения к конкретному элементу массива М;
zeromatrix(m, n) — создание нулевой матрицы размерностью m*n;
ident(n) — создание единичной квадратной матрицы;
diagmatrix(n, x) — создание диагональной квадратной матрицы размерностью n*n;
transpose(M) — транспонирование матрицы M;
matrix_size(M) — определение количества столбцов и строк матрицы;
rank(M) — определение ранга матрицы;
mattrace(M) — определение следа (суммы диагональных элементов) квадратной матрицы (* приложению предшествует загрузка пакета для работы с матрицами: load («nchrpl»));
determinant(М) — вычисление определителя (детерминанта) квадратной матрицы;
invert(M) -вычисление матрицы, обратной к М.

Обыкновенные дифференциальные уравнения

1)
ode2(уравнение, функция, переменная). Функцией обычно является у, а переменной — х;
Помимо решения дифференциального уравнения в общем виде, можно решать уравнения с начальными условиями (краевая задача). Для этого необходимо решить уравнение в общем виде при помощи функцииode2, а затем воспользоваться одной из функций поиска начальных условий:
ic1(решение, точка х, значение у в точке х) —для решения дифференциальных уравнений 1-го порядка с начальным условием;
ic2(решение, точка х, значение у в точке х, значение y’ в точке х) — для решения дифференциальных уравнений 2-го порядка с начальным условием;
bc2(решение, точка х1, значение у в точке х1, точка х2, значение у в точке х2) — для решения дифференциальных уравнений 2-го порядка с начальными условиями в виде двух точек;
2)
desolve(дифференциальное уравнение, переменная);
Если осуществляется решение системы дифференциальных уравнений или есть несколько переменных, то уравнение и/или переменные подаются в виде списка:
desolve([список уравнений], [переменная1, переменная2,…]);
Так же как и для предыдущего варианта, для обозначения производных в дифференциальных уравнениях используется функция diff, которая имеет вид ‘diff(f(x), x);
atvalue(функция, переменная = точка, значение в точке) — начальные значения.

Графики

plot2d(sin(x), [x,0,6]);
plot2d(sin(x), [x,0,1], [y,0,1]);
plot2d([parametric, realpart(W(%i*t)), imagpart(W(%i*t))], [t,0,100], [nticks,1000])$
Параметрические графики строятся так:
[parametric, x(t), y(t)]. Поэтому из приведенной формулы были подставлены параметрические функции. Далее, [t,0,100] — это диапазон точек, в котором рисовать годограф. Тут у каждого получается по-разному, ясно, что кривая уходит либо в 0, либо в бесконечность, тут главное не переборщить. Рекомендуется поиграться с диапазоном значений t, чтобы определить откуда и куда движется кривая. Данный пример берёт начало в точке [-1, 0] и стремится к [0, 0]. [nticks,1000] — этот параметр задает число точек для интерполяции графика. Чем их больше — тем более гладким будет выглядеть график и больше времени потребуется на его построение.
Графики в полярных координатах — применяется функция draw2d со следующими аргументами:
user_preamble = «set grid polar», // построение в полярных координатах;
nticks = n, // n — число точек;
xrange = [dx1, dx2], // диапазон изменения x;
yrange = [dy1, dy2], // диапазон изменения y;
color = red, // цвет;
line_width = k, // ширина линии, которой строится график;
title = «общее название графика»,
polar(функция, переменная, нижняя_граница _переменной, верхняя_граница_переменной) // функция построения графика;
Обязательными являются первый и последний аргументы функции. Первый инициирует построение графика в полярных координатах, последний (polar) — это функция, по которой строится график.
plot3d(((x — 10)/5)*((y — 10)/5),[x, 0,20],[y, 0,20]) — трехмерная (3D) графика;
Редактирование трехмерного графика осуществляется так же, как и двумерного.
Трехмерная поверхность может быть заменена градиентным переходом цветов. Для этого следует применить опцию «set view map».

Программирование (подробнее в документации)

for, while, until и т.д.
Примеры:
for i in s do
for k:1 thru b:3 do
for переменная: начало step шаг thru конец do выражение
for переменная: начало step шаг while условие do выражение
for переменная: начало step шаг unless условие do выражение
Задание функции:
f1(x,y):=x+y;

_-=============================-_
########## ДРУГОЕ #############
.================================.

Русское обозначение — в Maxima:
arccos — acos
arcsin — asin
arctg — atan
ch — cosh
sh — sinh
ctg — cot
ln — log
tg — tan

Символы греческого алфавита:
Gamma; Theta; Psi и т.д.

Обработка данных:
1)
load (descriptive)$ /*загрузить расширение*/
a:[1,2,3,4];
mean(a); /*=5/2 среднее*/
var(a); /*=5/4 дисперсия*/
std(a); /*=?5/2 среднеквадратичное отклонение*/
mean (средняя арифметическая);
median (медиана);
variance (дисперсия);
deviation (среднее квадратичное отклонение);
2)
a:[1.0,2.0,3.0,4.0];
for i in a do ldisp( sin(i)/i );

Вычисление производных по всем переменным, входящим в выражение:
eq: x*l/k; /*исходное выражение*/
res: 0$ for i in listofvars(eq) do res: res + (diff(eq,i) * concat(«d»,(i)))^2$

Для большей точности существует специальная функция bfloat() (big float, большой float), а также переменная ffprec — за число знаков после запятой. То есть для повышения/понижения точности нужно присвоить переменной fpprec другое числовое значение и воспользоваться функцией bfloat() вместо float(). Нужно, чтобы переменная numer равнялась false.

По умолчанию Maxima работает в системе МКС: метр-килограмм-секунда:
2*m;
2*cm;
setunits([centigram,inch,minute]) — аргументами которой являются три базовых единицы измерения: веса, длины и времени;
setunits([kg, m, s]);
convert(inch,[sm]); — перевод единиц измерения;

stringout(«/Users/myusername/file1maxima.mc»,INPUT);
To save all your work as a «tape» that can be replayed later, all your input can be saved to a file.

batch(«/Users/myusername/file1maxima.mc»);
Loading the saved file: the saved file can also be loaded directly, although the exact numbering of lines will change from the original calculation.

SIMPSUM:TRUE;
sum(k, k, 1, n), simpsum;
=> \displaystyle {{n^2+n}\over{2}}
product(1/(n^2),n,1,10); Products work in much the same way.

niceindices(powerseries(%e^x, x, 0));
=> \displaystyle \sum_{i=0}^{\infty }{{{x^{i}}\over{i!}}}

taylor(%e^x, x, 0, 5);
=> \displaystyle 1+x+{{x^2}\over{2}}+{{x^3}\over{6}}+{{x^4}\over{24}}+{{x^5}\over{120 }}+\cdots
trunc(%); Since the output of taylor has special properties, we need to convert it into a polynomial.

load(«newton»);
=>/sw/share/maxima/5.9.0rc3/share/numeric/newton.mac
newton(x^7-5*x^6+4*x^4-5*x^2+x+2,1);
=>8.194213634964119B-1

tex(%)- преобразовать выражение к виду TeX;
$$\left(x+1\right)^2$$

Преобразовать TeX в PDF:
1. Paste the following five lines verbatim into the text editor:
\documentclass{article}
\pagestyle{empty}
\begin{document}
\huge
\end{document}
2. Copy the tex() output line, and paste it between the \huge and \end{document} lines.
3. Save the result in text format as: myoutput.txt
4. In the terminal window, navigate to the directory where you saved myoutput.txt
5. type:
pdflatex myoutput.txt
6. Hit return — a PDF file called myoutput.pdf containing your typeset equation will now be created in this directory.

load(to_poly_solve); — дополнительные процедуры для решения систем алгебраических уравнений;
to_poly_solve([3*z1+z2+2=0,sqrt(z1)=z2],[z1,z2]);

sol:rk([rk1, rk2, gamma, w], [gamma, w, fi, tetta], [0, %pi/8, %pi/2, 0], [t, 0, Tmax with_stdout («gamma.txt», for k:1 thru points do print (sol[k][1], sol[k][2])) — пример ввода данных из файла.

А теперь рассмотрим типовой пример использования Maxima в студенческой жизни. Красиво и интересно данный процесс был показан в статье на Хабре ранее. Я в свою очередь только поверну координатные оси в одном уравнении:

F:uxx+2*uxy+cos(x)^2*uyy-ctg(x)*(ux+uy); /*искомое уравнение*/
A:F,uxx=uxx,uxy=0,uyy=0,ux=0,uy=0$ A:A/uxx$
B:F,uxx=0,uxy=uxy,uyy=0,ux=0,uy=0$ B:B/(2*uxy)$
C:F,uxx=0,uxy=0,uyy=uyy,ux=0,uy=0$ C:C/(uyy)$
D:F,uxx=0,uxy=0,uyy=0,ux=ux,uy=0$ D:D/(ux)$
E:F,uxx=0,uxy=0,uyy=0,ux=0,uy=uy$ E:E/(uy)$
print("A = ",A)$ print("B = ",B)$ print("C = ",C)$ print("D = ",D)$ print("E = ",E)$
delta:B^2-A*C$
print("Delta = ", delta)$
/*так как я знаю, что дельта > 0, перехожу сражу к решению гиперболического уравнения */
A*'diff(y,x,1)^2-2*B*'diff(y,x,1)+C=0;
'diff(y,x,1)=(2*B+sqrt((2*B)^2-4*A*C))/(2*A);
ode2(%,y,x);
solve(%,%c)$
w1:rhs(%[1])$ print("w1 = ",w1)$
'diff(y,x,1)=(2*B-sqrt((2*B)^2-4*A*C))/(2*A);
ode2(%,y,x);
solve(%,%c)$
w2:rhs(%[1])$ print("w2 = ",w2)$
ux:un*diff(w2,x)+ue*diff(w1,x);
uy:un*diff(w2,y)+ue*diff(w1,y);
uxx:un*diff(diff(w2,x),x)+unn*diff(w2,x)^2+2*uen*diff(w1,x)*diff(w2,x)+ue*diff(diff(w1,x),x)+uee*diff(w1,x)^2;
uxy:un*diff(diff(w2,x),y)+uen*(diff(w1,x)*diff(w2,y)+diff(w1,y)*diff(w2,x))+unn*diff(w2,x)*diff(w2,y)+ue*diff(diff(w1,x),y)+uee*
diff(w1,x)*diff(w1,y);
uyy:un*diff(diff(w2,y),y)+unn*diff(w2,y)^2+2*uen*diff(w1,y)*diff(w2,y)+ue*diff(diff(w1,y),y)+uee*diff(w1,y)^2;
uy*E+ux*D+uyy*C+2*uxy*B+uxx*A;
%,ctg(x)=cos(x)/sin(x); trigrat(%);

Результат:
2*uen*cos(2*x)-2*uen

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ЕЛЕЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. И. А. БУНИНА»

ЦЕНТР СВОБОДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Т. Н. Губина, Е. В. Андропова

РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ

УРАВНЕНИЙ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAXIMA

Учебное пособие

Елец — 2009

УДК 519.62+519.63+004.94 ББК 32.973.26-018

Г 93

Печатается по решению редакционно-издательского совета Елецкого государственного университета имени И.А. Бунина от 27. 05. 2009 г., протокол № 2

Рецензенты:

О.Н. Масина, кандидат физико-математических наук, доцент (Елецкий государственный университет им. И.А Бунина); А. В. Якушин, кандидат педагогических наук, доцент

(Тульский государственный педагогический университет им. Л.Н. Толстого)

Т.Н. Губина, Е. В. Андропова

Г93 Решение дифференциальных уравнений в системе компьютерной математики Maxima: учебное пособие. – Елец: ЕГУ им. И.А. Бунина, 2009. – 99 с.

Учебное пособие может быть использовано в рамках дисциплин математический анализ, дифференциальные уравнения, пакеты прикладных программ и др. на разных специальностях в учреждениях высшего профессионального образования, если государственным образовательным стандартом предусмотрено изучение раздела «Дифференциальные уравнения», а также в рамках курсов по выбору. Оно также может быть полезным для знакомства с системами компьютерной математики в профильных классах общеобразовательных учреждений с углубленным изучением математики и информатики.

УДК 519.62+519.63+004.94 ББК 22.1+22.18 Р30

©Губина Т.Н., Андропова Е.В., 2009

©ЕГУ им. И.А. Бунина, 2009

Содержание

Предисловие……………………………………………………………………………………………………

4

Глава 1. Основы работы в системе компьютерной математики Maxima

1.1. О системе Maxima………………………………………………………………………………………

7

1.2. Установка Maxima на персональный компьютер………………………………………….

7

1.3. Интерфейс основного окна Maxima…………………………………………………………….

8

1.4. Работа с ячейками в Maxima……………………………………………………………………….

10

1.5. Работа со справочной системой Maxima……………………………………………………..

14

1.6. Функции и команды системы Maxima…………………………………………………………

16

1.7. Управление процессом вычислений в Maxima…………………………………………….

22

1.8. Простейшие преобразования выражений…………………………………………………….

25

1.9. Решение алгебраических уравнений и их систем…………………………………………

28

1.10. Графические возможности………………………………………………………………………..

31

Глава 2. Численные методы решения дифференциальных уравнений

2.1. Общие сведения о дифференциальных уравнениях……………………………………..

45

2.2. Численные методы решения задачи Коши для обыкновенного дифференци-

ального уравнения первого порядка………………………………………………………………….

49

2.2.1. Метод Эйлера………………………………………………………………………………………….

50

2.2.2. Метод Эйлера-Коши………………………………………………………………………………..

52

2.2.3. Метод Рунге-Кутта 4 порядка точности……………………………………………………

53

2.3. Решение краевых задач для обыкновенных дифференциальных уравнений

методом конечных разностей……………………………………………………………………………

54

2.4. Метод сеток для решения дифференциальных уравнений в частных произ-

водных……………………………………………………………………………………………………………..

57

Глава 3. Нахождение решений дифференциальных уравнений в системе Maxima

3.1. Встроенные функции для нахождения решений дифференциальных уравне-

ний…………………………………………………………………………………………………………………..

63

3.2. Решение дифференциальных уравнений и их систем в символьном

виде…………………………………………………………………………………………………………………

66

3.3. Построение траекторий и поля направлений дифференциальных уравне-

ний…………………………………………………………………………………………………………………..

75

3.4. Реализация численных методов решения задачи Коши для обыкновенных

дифференциальных уравнений………………………………………………………………………….

85

3.4.1. Метод Эйлера………………………………………………………………………………………….

85

3.4.2. Метод Эйлера-Коши………………………………………………………………………………..

88

3.4.3. Метод Рунге-Кутта…………………………………………………………………………………..

89

3.5. Реализация конечно-разностного метода решения краевой задачи для обык-

новенных дифференциальных уравнений………………………………………………………….

91

3.6. Реализация метода сеток для дифференциальных уравнений в частных

производных…………………………………………………………………………………………………….

93

Задания для самостоятельного решения………………………………………………………..

95

Литература……………………………………………………………………………………………………..

98

Предисловие

Теория дифференциальных уравнений является одним из самых больших разделов современной математики. Одной из основных особенностей дифференциальных уравнений является непосредственная связь теории дифференциальных уравнений с приложениями. Изучая какие-либо физические явления, исследователь, прежде всего, создает его математическую идеализацию или математическую модель, записывает основные законы, управляющие этим явлением, в математической форме. Очень часто эти законы можно выразить в виде дифференциальных уравнений. Такими оказываются модели различных явлений механики сплошной среды, химических реакций, электрических и магнитных явлений и др. Исследуя полученные дифференциальные уравнения вместе с дополнительными условиями, которые, как правило, задаются в виде начальных и граничных условий, математик получает сведения о происходящем явлении, иногда может узнать его прошлое и будущее [1].

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

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

Учитывая современной развитие компьютерной техники и интенсивное развитие нового направления — компьютерной математики — получили широкое распространение и спрос комплексы программ, называемые системами компьютерной математики.

Компьютерная математика — новое направление в науке и образовании, возникшее на стыке фундаментальной математики, информационных и компьютерных технологий.

Система компьютерной математики (СКМ) — это комплекс программ, который обеспечивает автоматизированную, технологически единую и замкнутую обработку задач математической направленности при задании условия на специально предусмотренном языке.

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

Основными тенденциями развития СКМ являются рост математических возможностей, особенно в сфере аналитических и символьных вычислений, существенное расширение средств визуализации всех этапов вычислений, широкое применение 2D- и 3D-графики, интеграция различных систем друг с другом

идругими программными средствами, широкий доступ в Internet, организация совместной работы над образовательными и научными проектами в Internet, использование средств анимации и обработки изображений, средств мультимедиа

идр.

Существенным обстоятельством, которое до недавнего времени препятствовало широкому использованию СКМ в образовании, является дороговизна профессионального научного математического обеспечения. Однако в последнее время многие фирмы, разрабатывающие и распространяющие такие программы, представляют (через Internet — http://www.softline.ru) для свободного использования предыдущие версии своих программ, широко используют систему скидок для учебных заведений, бесплатно распространяют демонстрационные или пробные версии программ [5].

Кроме того, появляются бесплатные аналоги систем компьютерной математики, например, Maxima, Scilab, Octave и др.

В настоящем учебном пособии рассматриваются возможности системы компьютерной математики Maxima для нахождения решений дифференциальных уравнений.

Почему именно Maxima?

Во-первых, система Maxima — это некоммерческий проект с открытым кодом. Maxima относится к классу программных продуктов, которые распространяются на основе лицензии GNU GPL (General Public License).

Во-вторых, Maxima — программа для решения математических задач как в численном, так и в символьном виде. Спектр ее возможностей очень широк: действия по преобразованию выражений, работа с частями выражений, решение задач линейной алгебры, математического анализа, комбинаторики, теории чисел, тензорного анализа, статистических задач, построение графиков функций на плоскости и в пространстве в различных системах координат и т.д.

В-третьих, в настоящее время у системы Maxima есть мощный, эффективный и «дружественный» кроссплатформенный графический интерфейс, который называется WxMaxima (http://wxmaxima.sourceforge.net).

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

Настоящее пособие рассказывает о возможностях организации процесса поиска решений дифференциальных уравнений на базе системы Maxima, содержит в себе общие сведения по организации работы в системе.

Пособие состоит из 3 глав. Первая глава знакомит читателей с графическим интерфейсом wxMaxima системы Maxima, особенностями работы в ней, синтаксисом языка системы. Начинается рассмотрение системы с того, где можно найти дистрибутив системы и как его установить. Во второй главе рассматриваются общие вопросы теории дифференциальных уравнений, численные методы их решения. Третья глава посвящена встроенным функциям системы

компьютерной математики Maxima для нахождения решений обыкновенных дифференциальных уравнений 1 и 2 порядка в символьном виде. Также в третьей главе показана реализация в системе Maxima численных методов решения дифференциальных уравнений. В конце пособия приведены задания для самостоятельного решения.

Мы надеемся, что пособием заинтересуется широкий круг пользователей и оно станет их помощником в освоении нового инструмента для решения математических задач.

Т.Н. Губина, Е.В. Андропова Елец, июль 2009

Глава 1 ОСНОВЫ РАБОТЫ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAXIMA

1.1.О системе Maxima

Врамках проекта создания искусственного интеллекта в 1967 году в Массачусетском технологическом институте была инициирована разработка первой системы компьютерной алгебры Macsyma. Программа в течение многих лет использовалась и развивалась в университетах Северной Америки, где появилось множество вариантов системы. Maxima является одним из таких вариантов, созданным профессором Вильямом Шелтером (William Schelter) в 1982 году. В 1998 году он получил официальное разрешение Министерства энергетики США на выпуск Maxima под лицензией GPL. А начиная с 2001 года Maxima развивается как свободный международный проект, базирующийся на SourceForge [2].

Внастоящее время Maxima — это система компьютерной математики, которая предназначена для выполнения математических расчетов (как в символьном, так и в численном виде) таких как:

упрощение выражений;

графическая визуализация вычислений;

решение уравнений и их систем;

решение обыкновенных дифференциальных уравнений и их систем;

решение задач линейной алгебры;

решение задач дифференциального и интегрального исчисления;

решение задач теории чисел и комбинаторных уравнений и др.

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

1.2.Установка Maxima на персональный компьютер

Свободно распространяемую версию дистрибутива Maxima, документацию на английском языке, типы и виды интерфейсов системы можно посмотреть и скачать с сайта программы http://maxima.sourceforge.net. На период написания пособия последняя версия дистрибутива — Maxima 5.18.1.

Сама по себе Maxima — консольная программа и все математические формулы «отрисовывает» обычными текстовыми символами.

Система является многоплатформенной, имеет небольшой размер дистрибутива (21,5 Мб), легко устанавливается, имеет несколько графических русифицированных интерфейсов: xMaxima, wxMaxima, TexMacs.

Наиболее дружественным, простым и удобным в работе графическим интерфейсом в настоящее время является интерфейс wxMaximа. Поэтому в дальнейшем будем использовать именно этот интерфейс.

Т.Н. Губина, Е.В. Андропова

Установка Maxima под управлением Windows

Полученный после скачивания файл, например maxima-5.18.1.exe (размер файла около 21,5 мегабайт), является исполняемым. Для начала установки программы достаточно нажать на него два раза левой кнопкой мыши. Сразу появится окно выбора локализации (выбираем русский язык).

В следующем окне выбираем «Далее», внимательно читаем лицензионное соглашение, выбираем «я принимаю условия соглашения» и снова выбираем «Далее» (два раза).

Впоявившемся окне выбираем путь установки программы (можно оставить его без изменения).

Переходим к выбору устанавливаемых компонент. Из всего перечисленного для нас «лишними» являются Пакеты поддержки языков Maxima.

При установке желательно установить и графический интерфейс xMaxima, поскольку на нем базируется интерфейс wxMaxima и при решении некоторых задач он необходим, например, при выполнении графических построений.

Вследующих окнах предлагается выбрать место размещения ярлыка для запуска программы (в меню «Пуск», на рабочий стол и т.д.). Завершающим этапом будет окно с предложением начать установку. По окончании установки выбираем «Далее» и «Завершить».

Таким образом, установка программы закончена.

Установка Maxima под управлением Linux

Maxima входит в состав многих дистрибутивов Linux, например, таких как AltLinux, Mandriva, Ubuntu, Fedora и др. В некоторых случаях может понадобиться доустановка с репозитория дистрибутива с помощью систем yum или synaptic.

Для установки в других дистрибутивах Linux необходимо использовать подходящий пакет системы Maxima, который можно скачать с сайта http://maxima.sourceforge.net.

Теперь можно приступать к работе с системой.

Учебное пособие ориентировано на работу с системой Maxima, установленную под управлением Linux. Заметим, что все рассматриваемые команды активны и в системе, установленной под управлением Windows.

Для начала познакомимся с интерфейсом основного окна программы.

1.3. Интерфейс основного окна Maxima

После запуска системы Maxima 5.18.1 с графическим интерфейсом wxMaximа появляется рабочее окно программы (Рис. 1).

8

Глава 1 Основы работы в системе компьютерной математики Maxima

Рис. 1. Вид рабочего окна системы Maxima

Структура окна, как видно из рисунка, имеет стандартный вид:

строка заголовка, в которой располагается название программы и информация о том, сохранен ли рабочий документ (если документ сохранен, то прописывается его имя);

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

ния. Заметим, что ввод команд через диалоговые окна упрощает работу с программой для начинающих пользователей;

панель инструментов — на ней находятся кнопки для создания нового документа, быстрого сохранения документа, вызова окна справки, создания ячеек ввода, прерывания вычислений, кнопки для работы с буфером обмена и др.;

рабочая область — непосредственно сам документ, в котором формируются ячейки ввода и выводятся результаты выполненных команд;

полосы прокрутки;

панель с кнопками — набор кнопок для быстрого вызова некоторых команд: упростить, решить уравнение или систему, построить график и др.;

строка состояния.

9

Т.Н. Губина, Е.В. Андропова

В системе Maxima команда — это любая комбинация математических выражений и встроенных функций. Каждая команда завершается символом «;», причем в случае его отсутствия система сама добавит этот символ.

1.4. Работа с ячейками в Maxima

После того, как система загрузилась, можно приступать к вычислениям. Для этого следует добавить так называемую ячейку ввода, в которую вводится команда системе выполнить какое-либо действие.

Систему можно использовать в качестве мощного калькулятора для нахождения значений числовых выражений. Например, для того, чтобы найти значение произведения 120 и 1243, надо:

на панели инструментов нажать кнопку Insert input cell (или нажать на клавиатуре клавишу Enter). В результате в рабочей области будет сформирована ячейка ввода (Рис.2).

Рис.2. Формирование новой ячейки ввода

далее с клавиатуры вводим команду: 120*1243 и нажимаем комбинацию клавиш Ctrl+Enter (Рис.3).

Рис.3. Выполнение вычислений в системе Maxima

Таким образом, в документе были сформированы две строки: (%i1) — ячейка ввода и для нее (%о1) — ячейка вывода. Каждая ячейка имеет свою метку — заключенное в скобки имя ячейки. Ячейки, в которых размещаются входные данные (формулы, команды, выражения) называют ячейками ввода. Они обозначаются %iChislo, где Chislo — номер ячейки ввода (i — сокращенно от английского слова input — ввод). Ячейки, в которых размеща-

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

М.
И. Иванчук

ИСПОЛЬЗОВАНИЕ
МАТЕМАТИЧЕСКОГО ПАКЕТА
MAXIMA

Учебно-методическое
пособие

для
учащихся 10-11 классов

СОДЕРЖАНИЕ

Предисловие…………………………………………………………………………………………. 3

§1.Основные понятия программы Maxima.…………………………………………….. 4

§2. Функции и команды программы Maxima………………………………………….. 6

§3.Действия
над элементарными и тригонометрическими выражениями…. 14

§4.Вычисление логарифмов……………………………………………………………….. 20

§5.Решением линейных уравнений и систем
алгебраических уравнений….. 23

§6.Решение тригонометрических уравнений………………………………………… 25

§7. Построение графиков функций на
плоскости и в пространстве………….. 28

§8.Вычисление
пределов функций………………………………………………………. 37

§9.Вычисление производных функций………………………………………………… 39

§10.Вычисление интегралов функций………………………………………………….. 46

Практические и
контрольные работы…………………………………………………….. 50

Предисловие

Данное
учебное пособие предназначено для учащихся 10-11 классов
физико-математического, информационно-технологического и экономического
профилей.

В
настоящем пособии рассмотрены основные теоретические и практические вопросы по
использованию пакета
Maxima для
решения математических задач.

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

Maxima
является универсальным математическим пакетом, позволяющим решать большое
количество сложных математических задач без использования программирования.
Существуют две идентичные версии пакета для операционных систем
Windows 
и
Linux.

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

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

Отдельным
разделом в пособии представлены практические и контрольные работы.

§1. Основные понятия программы Maxima

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

Среди современных
ППС особое место занимают пакеты прикладных математических программ (ППМП).
Универсальные  математические пакеты предоставляют новые широкие возможности
для совершенствования образования на всех, без исключения, его этапах – от
целенаправленного обучения и образования до комплексной подготовки обучаемого к
профессиональной деятельности и самореализации. Велика роль пакетов прикладных
программ при изучении математики. Облегчая решение сложных задач, они снимают
психологический барьер в изучении математики и делают этот процесс интересным и
более простым.

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

История проекта,
известного ныне под именем Maxima, началась еще в конце 60 — х годов в
легендарном MIT (Massachusetts Institute of Technology— Массачусетский
Технологический институт), когда в рамках существовавшего в те годы большого
проекта MAC началась работа над программой символьных вычислений, которая
получила имя Macsyma (от MAC Symbolic MAnipulation). Архитектура системы была
разработана к июлю 1968 г., непосредственно программирование началось в июле
1969. В качестве языка для разработки системы был выбран Lisp, и история
показала, насколько это был правильный выбор: из существующих в то время языков
программирования он единственный продолжает развиваться и сейчас — спустя почти
полвека после старта проекта. Macsyma была закрытым коммерческим проектом; его
финансировали государственные и частные организации, среди которых были
вошедшее в историю
ARPA (Advanced Research
Projects Agency),
Энергетический и Оборонный Департаменты США (Departments of Energy & Defence, DOE and DOD). Проект активно развивался, а организации, контролирующие его,
менялись не раз, как это всегда бывает с долгоживущими закрытыми проектами. В
1982 году профессор Уильям Шелтер начал разрабатывать свою версию на основе этого
же кода, под названием Maxima. В 1998 году Шелтеру удалось получить от DOE
права на публикацию кода по лицензии GPL. Первоначальный проект Macsyma
прекратил свое существование в 1999 году. Уильям Шелтер продолжал заниматься
разработкой Maxima вплоть до своей смерти в 2001 году. Но, что характерно для
открытого ПО, проект не умер вместе со своим автором и куратором. Сейчас проект
продолжает активно развиваться, и участие в нем является лучшей визитной
карточкой для математиков и программистов всего мира.

Maxima является универсальным
математическим пакетом, позволяющим решать большое количество сложных
математических задач без использования программирования. Существуют две
идентичные версии пакета для ОС
Windows
и
Linux.

На данный момент ППП Maxima
может:

o       
Использоваться как обычный калькулятор для
простых вычислений;

o       
Вычислять и упрощать символьные выражения;

o       
Использовать для вычисления интегралов и
производных функций;

o       
Решать системы линейных алгебраических
уравнений, работать с матрицами и определителями;

o       
Решать нелинейные алгебраические
уравнения;

o       
Решать системы нелинейных алгебраических
уравнений;

o       
Строить графики, как в декартовых, так и в
полярных координатах, различные диаграммы и гистограммы;

o       
Решать дифференциальные уравнения;

o       
Создавать документы, которые хорошо
выглядят в отчетах.

С
каждой новой версией в пакете
Maxima
появляются новые функциональные возможности и виды решаемых задач. Пакет
позволяет решать символьные и численные выражения. Имеется довольно обширная
литература для работы с пакетом. Кроме того, есть возможность познакомиться с
системой
Maxima-онлайн – аналогично
производя вычисления.

§2. Функции и команды программы wxMaxima

В
верхней графической части окна интерфейса wxMaxima демонстрируется версия
загруженной программы. Ниже расположена панель управления, содержащая следующие
команды: файл, правка,
cell, maxima,
уравнения, алгебра, анализ, упростить, графики, численные расчеты и помощь. Далее
расположено рабочее поле, ниже строка состояния.

В
Maxima для
ввода функций и команд существует два способа. Первый способ: в панели
управления выбираем нужную команду и вводим пример.
Ввод
команд через диалоговые окна упрощает работу с программой для новичков . Второй
способ заключется в следующем: ставим курсор в  рабочее поле набираем нужную
команду или фукцию. Но таким способом мы решаем, если знаем «название» функции
или команды. Разделяются функции и команды символом «;» (точка с
запятой
).

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

После
ввода команды необходимо нажать
Enter
для ее обработки и вывода результата. Завершение ввода $ (вместо
точки с запятой
) позволяет вычислить результат введенной команды, но не
выводить его на экран. В случае, когда выражение надо отобразить, а не
вычислить, перед ним необходимо поставить знак «» (одинарная кавычка).

Две
одинарные кавычки последовательно, примененные к выражению во входной строке,
приводят к замещению входной строки результатом вычисления выражения.

Пример №1:
Показать использование одинарных кавычек

1.                
Наводим курсор на рабочее поле и
записывает выражение: «а:1024», что означает «присвоить а число
1024». В дальнейшем можно будет записывать не число 1024, а просто 
a.

2.                
Аналогично присваиваем b
значение 19.

3.                
Вычислим следующее выражение: . Для этого запишем в wxMaxima
следующее:
, так как  
команда для вычисления квадратного корня. И увидим, что
wxMaxima
выдаст ответ 51.

4.                
Затем ставим одинарную кавычку и
записываем снова это выражение
. WxMaxima
выдаст следующее сообщение:
.

5.                
Если поставить две одинарные кавычки и %,
то
maxima 
выдаст 51.

После
ввода, каждой команде присваивается порядковый номер. В рассмотренном примере
(см. выше), введенные команды имеют номера 1-5 и обозначаются (%
i1),
(%
i2)
и т.д.

Результат
вычисления также имеет порядковый номер, например (%
o1),
(%
o2)
и т.д., где
i
– сокращение от англ.
input 
(ввод), а
o – англ. output
(вывод). Этот механизм позволяет избежать в последующих вычислениях повторения
полной записи уже выполненных команд, например (%
i1)
+ (%
i2)
будет означать добавление к выражению первой команды – выражение второй и
последующий результат. Также можно использовать и номера вычислений (%
o1)*
(%
o2).
Для последней выполненной команды в
Maxima
есть специальное обозначение — %.

Пример №2:
Показать использование номеров вычислений:

1.                
Присвоим  x значение
4.

2.                
Вычислим

3.                
С помощью обозначения « возведем x
в 3 степень.

Правила
ввода чисел в
Maxima точно такие, как и для
многих других подобных программ. Целая и дробная часть десятичных дробей
разделяются символом точка. Перед отрицательными числами ставиться знак минус.
Числитель и знаменатель обыкновенных дробей разделяется при помощи символа «/»
(прямой слэш). Важно обратить внимание, что если в результате выполнения
операции получается некоторое символьное выражение, а необходимо получить
конкретное числовое значение в виде десятичной дроби, то решить эту задачу
позволит применение флага
numer.
В частности он позволяет перейти от обыкновенных дробей к десятичным.
Преобразование к форме с плавающей точкой осуществляется также функция
float.

Пример №3:
Преобразовать
 к форме с плавающей
точкой

1.                
Запишем выражение  в maxima
следующим образом:
 Программа выдаст
следующее:
.

2.                
На панели инструментов выберем вкладку «численные
расчеты
»→
to float.
Получим следующее значение: 2,095238095238095

Также
можно в рабочем поле записать
float
(5/7)

Обозначение
арифметических операций в
Maxima
ничем не отличается от классического представления: +, -, *, /.
Возведение в степень можно обозначить несколькими способами: ^, **.
Извлечение корня из степени
n,
записываем, как степень 1/
n.

Для
увеличения приоритета операции, как и в математике, используются круглые скобки
(). Список основных арифметических и логических операторов приведен в
таблицах 1 и 2.

Таблица
1

Арифметические
операторы

+

*

Оператор сложения

Оператор вычитания или изменения знака

Оператор умножения

/

^ или **

Оператор деления

Оператор возведения в степень

Таблица
2

Логические
операторы

Оператор сравнения меньше

> 

Оператор сравнения больше

<=

Оператор сравнения меньше или равно

>=

Оператор сравнения больше или равно

Оператор сравнения не равно

=

Оператор сравнения равно

And

Логический оператор «и»

Or

Логический оператор «или»

Not

Логический оператор «не»

В
wxMaxima
для удобства вычислений имеется ряд встроенных констант. Самые распространенные
из них показаны в таблице 3. Еще в
wxMaxima используются
встроенные функции, в таблице 4 приведены только те, которые будут
использоваться в школьном курсе.

Присваивание
значений переменной осуществляется с использованием символа «:» (двоеточие),
например,
x:5.
Если необходимо удалить значение переменной (очистить ее), то применяется метод
kill:

Kill
(
x)
– удалить значение переменной
x;

Kill
(
all)
– удалить значение всех используемых ранее переменных.

Таблица 3

Основные константы Maxima

Название

Обозначение

Слева (в отношении пределов)

Minus

Справа (в отношении пределов)

Plus

Плюс
бесконечность

Inf

Минус
бесконечность

Minf

Число
π

%pi

e
(
экспонента)

%e

Мнимая
единица

%i

Истина

True

Ложь

False

Золотое
сечение

%phi

Таблица 4

Некоторые встроенные математически функции
системы
Maxima

Abs(x)

Модуль числа x

Sqrt(x)

Квадратный корень из x

Acos(x)

Арккосинус аргумента
x

Acot(x)

Арккотангенс аргумента
x

Asin(x)

Арксинус аргумента
x

Atan(x)

Арктангенс аргумента
x

Sin(x)

Синус аргумента
x

Tan(x)

Тангенс аргумента
x

Log(x)

Натуральный логарифм
x

Exp(x)

Экспонента x

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

Задания для проверки знаний учащихся

Карточка № 1

1.                
Найдите
значения числовых выражений:

a)                

b)               

c)                

2. Оформить решение. Для
задания 2 представить результат в виде десятичной дроби.

Карточка № 2

1. Найдите значения
числовых выражений:

a)                

b)               

c)                

2. Оформить решение. Для задания
2 представить результат в виде десятичной дроби.

Карточка № 3

1.                
Найдите
значения числовых выражений:

a)                

b)               

c)                

2.                
Оформить
решение. Для задания 2 представить результат в виде десятичной дроби

Карточка № 4

1.                
Найдите
значения числовых выражений:

a)                

b)               

c)                

2.                
Оформить
решение. Для задания 2 представить результат в виде десятичной дроби

Карточка
№ 5

1.                
Найдите
значения числовых выражений:

a)                

b)               

c)                

2.                
Оформить
решение. Для задания 2 представить результат в виде десятичной дроби

Карточка № 6

1.                
Найдите
значения числовых выражений:

a)                

b)               

c)                

2.                
Оформить
решение. Для задания 2 представить результат в виде десятичной дроби

Задания для проверки знаний учащихся (продолжение)

Карточка № 1

1. Вычислите

a)x=2, y=3, b)x=1.3, y=-0.5

2. Sin200+sin400-cos100=?

3. Найдите значение функции:

, при x=4.

Карточка № 2

1. Вычислите

a)x=5.52, y=12.2, b)x=18, y=2.1

2. Cos850+cos350-cos250=?

3. Найдите значение функции:

, при x=0.2.

Карточка № 3

1. Вычислите

a)x=1, y=0.5, b)x=1.5, y=-1.5

2. Sin870-sin590-sin930+sin610=?

3. Найдите значение функции:

, при x=.

Карточка № 4

1. Вычислите

a)a=20, b=14, b)a=10.8, b=-5

2. Sin1150-cos350+cos650+cos250
=?

3. Найдите значение функции:

, при x=3.4.

Карточка № 5

1. Вычислите

a)a=13, b=, b)a=7.4, b=3.6

2. =?

3. Найдите значение функции:

, при x=4/6.

Карточка № 6

1. Вычислите

a)x=1.1, y=1.41, b)x=13/5, y=-7

2. =?

3. Найдите значение функции:

, при x=-/2.

Вопросы для проверки:

1.    
Перечислите основные составляющие рабочего
окна программы
wxMaxima.

2.    
Сколькими способами можно задать команды в
программе 
wxMaxima. Расскажите об
этих способах.

3.    
Составьте пример, использующий все
операторы из таблицы 1.

§3. Действия над
элементарными и тригонометрическими выражениями

Выражение[1] – это
цифры, переменные и имеющие смысл соединения их с помощью знаков арифметических
операций «+, -, *,:» или с помощью символов функций, таких как √, возведение в
степень,
sin, f,
знак абсолютной величины, запятая и скобки.

Бывают
выражения без переменных, например, цифры или π, которые обозначают конкретные
объекты из подходящей основной области и выражения с переменными, обозначающие
конкретный объект из соответствующей основной области только после подстановки
всех свободных переменных. Этот объект называется значением выражения.

Произведение
n
натуральных чисел от 1 до
n
обозначают
n! (читают: «n
факториал[2]). 

Для
того чтобы производить вычисления и преобразования арифметических выражений в
wxMaxima,
рассмотрим несколько полезных функций, которые нам пригодятся в ходе решения:

assume
– ввод ограничений и
forget
– снятие ограничений;

divide
– нахождение частного и остатка от деления одного многочлена на другой;

factor
– разложение на множители;

expand
– раскрытие скобок;

gcd
– наибольший общий делитель многочленов;

ratsimp
– упрощение выражения;

partfrac
– преобразование в простые дроби по заданной переменной;

trigsimp
– тригонометрическое упрощение;

trigexpand
(тригонометрическое раскрытие скобок) – использует формулы преобразования сумм
двух углов для представления введенного выражения в как можно более простом
виде – где в качестве аргумента только одна переменная;

trigreduce
(приведение тригонометрическое) – преобразует тригонометрическое выражение к
сумме элементов, каждый из которых содержит только
sin
или
cos;

Рассмотрим
примеры.

Пример №1:
Для
  ввести и затем убрать
ограничение.

1.                
Введем выражение  в рабочее поле: для
этого наведем курсор на рабочее поле и введем
.
(
sqrt
– корень квадратный из выражения или числа, ^ — возведение в степень).
wxMaxima
выведет выражение

2.                
Введем ограничение x<0.
Для этого введем функцию ограничения
assume
(
x<0).
wxMaxima
выведет [
x<0]
и если мы снова введем выражение sqrt(x^2),
то получим ответ: x.

3.                
Для того, чтобы убрать ограничение x<0,
необходимо ввести функцию
forget
(
x<0),
и затем снова ввести
sqrt(x^2).
wxMaxima
выведет
.

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

Пример №2:
Найти частное и остаток от деления
 на .

1.                
На панели инструментов выберем вкладку
«анализ»→ «
divide polynomials».

2.                
Появиться окно

В
первую строку вводим
, во вторую –

3.                
Получаем ответ, где первый
элемент полученного массива — частное, второй – остаток от деления.

Пример №3:
Разложить на множители
.

Пример №4:
Раскрыть скобки в выражении
.

Пример №5:
Найти наибольший делитель многочлена
, , .

Пример №6:
Упростите выражение
.

Пример №7:
Преобразуйте выражение:
 в простые дроби по
переменной
x.

Пример №8:
Упростите тригонометрическое выражение
.

Пример №9:
Раскройте скобки в тригонометрическом выражении
.

Пример №10:
Преобразуйте тригонометрическое выражение к сумме элементов
.

Таким
образом, можно провести вычисления и преобразования элементарных и
тригонометрических выражений, раскрытие скобок в выражениях в
wxMaxima.

Операция
нахождения факториала обозначается восклицательным знаком (!), стоящим после
своего аргумента. Двумя восклицательными знаками обозначается полуфакториал
(произведение всех четных или нечетных чисел, меньших либо равных данному).

Пример №11:
Найти факториал 5.

1.    
Нажав курсором в рабочее поле, введем 5!;

2.    
Программа выдаст ответ: 120

Задания для проверки знаний учащихся

Карточка № 1

1. Для  сначала введите, а
затем уберите ограничения.

2. Найдите частное и остаток от деления  на .

3. Разложите на множители .

4. Раскройте скобки в выражении .

5. Упростите тригонометрическое выражение .

6. Найдите факториал числа 15.

Карточка № 2

1. Для  сначала введите, а
затем уберите ограничения.

2. Найдите частное и остаток от деления  на .

3. Разложите на множители .

4. Раскройте скобки в выражении .

5. Упростите тригонометрическое выражение .

6. Найдите факториал числа 13.

Карточка № 3

1. Для  сначала введите, а
затем уберите ограничения.

2. Найдите частное и остаток от деления  на .

3. Разложите на множители .

4. Раскройте скобки в выражении .

5. Упростите тригонометрическое выражение .

6. Найдите факториал числа 18.

Карточка № 4

1. Для сначала введите, а
затем уберите ограничения.

2. Найдите частное и остаток от деления  на .

3. Разложите на множители .

4. Раскройте скобки в выражении .

5. Упростите тригонометрическое выражение .

6. Найдите факториал числа 10.

Вопросы для проверки:

1.    
Дайте определение следующим понятиям:
выражение, факториал. Какими бывают выражения?

2.    
Какие команды используются в программе Maxima
для преобразования арифметических и тригонометрических выражений, для
вычисления факториала?

§4. Вычисление логарифмов

Логарифмом[3] положительного числа N по основанию b (b>0, bhttp://www.bymath.net/studyguide/alg/sec/alg31a0.gif1) называется показатель степени x, в которую нужно возвести b,
чтобы получить N
.

Обозначается логарифм:  и она равнозначна следующей записи: . Данные записи однозначны.

Натуральным логарифмом[4] называют логарифм этого
числа по основанию е, где
e —иррациональная константа, равная приблизительно 2,7.
Натуральный логарифм обычно обозначают как ln(x), loge(x) или
иногда просто log(x), если основание не
подразумевается.

Натуральный логарифм числа x (записывается как ln(x)) — это показатель степени, в
которую нужно возвести число e,
чтобы получить x. Например, ln(7,389…) равен 2, потому что e2=7,389.
Натуральный логарифм самого числа e (ln(e)) равен 1, потому что e1=e, а
натуральный логарифм 1 (ln(1)) равен 0, поскольку e0 = 1.

В
wxMaxima
нет десятичного логарифма, причем то, как мы привыкли записывать десятичный
логарифм (
Log), Maxima
интерпретирует как логарифм натуральный.

Log
функция вычисления натурального логарифма.

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

Пример №1:
Вычислите
.

1.    
Наведите курсор на рабочее поле.

2.    
Введите , так как e
— константа, то сначала нужно записать % и как уже говорилось,
Ln
записывается как десятичный логарифм (
log).

3.    
Maxima
вывела
следующий результат:

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

Пример №2:
Вычислите логарифм

Пример №3:
Вычислите логарифм

Задания для проверки знаний учащихся

Карточка № 1

1. Вычислить логарифм

2. Вычислить логарифм

3. Вычислить логарифм

Карточка № 2

1. Вычислить логарифм

2. Вычислить логарифм

3. Вычислить логарифм

Карточка № 3

1. Вычислить логарифм

2. Вычислить логарифм

3. Вычислить логарифм

Карточка № 4

1. Вычислить логарифм

2. Вычислить логарифм

3. Вычислить логарифм

Вопросы для проверки:

1.    
Дайте определение логарифма и натурального
логарифма.

2.    
Какие функции используются для вычисления
логарифма? Расскажите о них.

3.    
Приготовьте сообщение о команде Radcan.
Как именно она вычисляет логарифмы?

§5. Решение линейных
уравнений и систем алгебраических уравнений

Уравнение[5]
вида
 называется линейным
уравнением с неизвестным
x.

Уравнение
называется алгебраическим[6],
если каждая его частей есть многочлен или одночлен по отношению к неизвестным
величинам.

Решение системы алгебраического уравнения заключается в нахождении
его корней.

Решение
алгебраических уравнений и их систем в
wxMaxima
осуществляется при помощи функции
solve.
В качестве параметров в первых квадратных скобках указывается список  уравнений
через запятую, во вторых – список переменных, через запятую.

Solve
– решение алгебраических уравнений и их систем.

Пример №1.
Решите линейное уравнение

1.       
На панели инструментов выберите вкладку «уравнения»
→ «
solve»

2.       
В появившемся окне записываем уравнение  по переменной x

3.    
Нажимаем «ОК» и получаем следующий
ответ:

Пример №2:
Решите уравнение
 по переменной x

Как
мы видим из рассмотренного примера, программа
Maxima
позволяет находить комплексные числа.

Пример №3:
Решите уравнение
-3=0

Пример №4:
Решате систему уравнений

Пример № 5.
Решить уравнение

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

Задания для проверки знаний учащихся

Карточка № 1

1. Решить уравнение

2. Решить систему уравнений

3. Решить тригонометрическое уравнение

Карточка № 2

1. Решить уравнение

2. Решить систему уравнений

3. Решить тригонометрическое уравнение

Карточка № 3

1. Решить уравнение

2. Решить систему уравнений

3. Решить тригонометрическое уравнение

Карточка № 4

1. Решить уравнение

2. Решить систему уравнений

3. Решить тригонометрическое уравнение

Вопросы для проверки:

1.    
Что называется уравнением? Какие уравнения
Вы знаете?

2.    
Какая команда используется для решения
уравнений?

3.    
Рассмотрите примеры в программе Maxima,
которые вы еще не рассматривали на занятии.

§6. Решение
тригонометрических уравнений

Уравнение , где a – данное число, а  – одна из основных тригонометрических функций, называют простейшим  тригонометрическим[7] уравнением.

Тригонометрические уравнения бывают самых
различных видов и сложности. В конечном счете, все тригонометрические уравнения
сводятся к простейшим
тригонометрическим уравнениям
.

Простейшие тригонометрические уравнения
– это уравнения  вида:

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

Для решения тригонометрических уравнений в Maxima используются следующие функции:

trigexpand – раскладывает все тригонометрические функции
от сумм и произведений в комбинации соответствующих функций единичных углов и
аргументов.

trigreduce — свертывает все произведения
тригонометрических функций в комбинации соответствующих функции от сумм.

trigsimp – упрощает тригонометрические выражения,
применяя к ним правила:
 и .

trigrat – приводит заданное тригонометрическое
выражение к канонической упрощенной квазилинейной форме.

Пример №1: Используя известные тождества, разложите тригонометрическую
функцию 

1.                
На панели
инструментов открыть вкладку «упростить» → «
trigonometric simplification» → «expand trigonometric»

2.                
Появиться
следующее окно:

3.    
Вместо %
вводим выражение
. Получаем:

Пример №2: Используя известные тождества, разложите тригонометрическую
функцию

Пример №3: Используя известные тождества, сверните тригонометрическую функцию

Пример №4: Используя известные тождества, упростите тригонометрическое
выражение

Пример №5: Приведите тригонометрическое выражение к каноническому виду

Задания для проверки
знаний учащихся

Карточка
№1

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

2. Свернуть тригонометрическую функцию

3. Упростить тригонометрическое
выражение

4. Приведите тригонометрическое
выражение к каноническому виду

Карточка
№2

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

2. Свернуть тригонометрическую функцию

3. Упростить тригонометрическое выражение

4. Приведите
тригонометрическое выражение к каноническому виду

Карточка
№3

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

2. Свернуть
тригонометрическую функцию

3. Упростить
тригонометрическое выражение

4. Приведите
тригонометрическое выражение к каноническому виду

Карточка
№4

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

2. Свернуть
тригонометрическую функцию

3. Упростить
тригонометрическое выражение

4. Приведите
тригонометрическое выражение к каноническому виду

Вопросы для проверки:

1.     Какие уравнения называются тригонометрическими?
Перечислите простейшие тригонометрические уравнения.

2.     Какие команды используются при вычислении
тригонометрических уравнений?

§7. Построение графиков на плоскости и в
пространстве

Функция [8] это
зависимость между двумя множествами, при котором каждому элементу из одного
множества ставится в соответствии с некоторым правилом, законом единственный
элемент из другого множества.

Графиком функции [9] y  = f(x) называют множество тех и
только тех точек на координатной плоскости
xOy, координаты которых
удовлетворяют условию y  = f(x).

Другими словами, график функции y = f(х) — это множество
всех точек плоскости, координаты х, у которых
удовлетворяют соотношению y = f(x).

С помощью графика можно находить значение функции в точке. Именно,
если точка х = а принадлежит области определения функции y = f(x), то для нахождения числа f(а) (т. е. значения функции в точке х = а) следует поступить так. Нужно
через точку с абсциссой х = а провести прямую, параллельную оси ординат;
эта прямая пересечет график функции y
= f(x)
в одной точке; ордината
этой точки и будет, в силу определения графика, равна f(а).

Для
того, чтобы начать построение графиков функций в системе
Maxima,
необходимо изучить команды системы
Maxima
для построения графиков. 

Сразу
стоит отметить, что при построении графика стоит обращать внимание на масштаб
делений по осям. И если вместо ожидаемой окружности, мы увидим эллипс, то,
скорее всего это произошло именно из-за несоответствия масштаба делений по
осям.

Для
графических построений в системе
Maxima
предусмотрены две функции  —
plot2d
и
plot3d
(одно из значений слова
plot
– график, а аббревиатура 2
d
и 3
d переводятся как
двумерный и трехмерный).

Графические
возможности в
Maxima реализованы посредством
внешних программ. По умолчанию, построением графиков в
Maxima
занимается
gnuplot и разрабатываемый вместе
с
Maxima
и идущий в ее же пакете
openmath.

Построение графиков на плоскости.

Синтаксис
функции
plot2:

plot2d(выражение,
[переменная, начало, конец]) – в случае построения одного графика функции.

plot2d([выражение
1, выражение 2,…], [переменная, начало, конец]) – в случае построения нескольких
графиков функции.

Выражение
задает функцию, график которой нужно построить, переменная – неизвестное,
входящее в выражение, начало и конец задают отрезок оси
Ox
для построения графика. Участок по оси
Oy
выбирается автоматически, исходя из минимума и максимума функции на заданном
промежутке.

Рассмотрим
несколько примеров построения графиков функций.

Пример №1:
Постройте график функции

Построение
графика можно произвести двумя способами:

1способ:

1.           
На панели инструментов выберите вкладку «графики»
→ «
plot
2
d»

2.           
Появиться окно, в котором указывается
выражение(ния), переменные
x
и
y,
зададим функцию
 на отрезке x[-10;10]

3.           
Появиться следующее окно:

И
получаем следующий график:

2 способ:

1.       
Наводим курсор на рабочее поле и с
клавиатуры запишем:
plot2d([x^2+5*x+6],[x,-10;10]);

2.       
Нажимаем «ctrl +
enter»
и появляется тот же график.

Пример №2:
Постройте график функции
 на промежутке

Видим, что на данном графике, мы не
указали параметры
y.
Он определился автоматически.

Пример №3:
Построим график параболы
 и
найдем точку пересечения ее с осями.

Чтобы
определить, в каких именно точках парабола пересекается с осями, достаточно
навести курсор на их пересечение и тогда в нижнем левом углу отобразятся
координаты точек пересечения.

Из
графика видно, что парабола пересекает ось
Oy
в точке (0;3), а ось
Ox
в точке (-2;0).

Пример №4:
Постройте несколько графиков функций в одной системе координат:
 на промежутке

(для построения
нескольких графиков функций на одной координатной плоскости записывают функции
через запятую в квадратных скобках
)

В результате решения
получаем следующее:

Таким
образом, был построен двумерный график, на котором показаны все три
зависимости. Данный график построен с использованием функции
plot2d,
в котором первый аргумент – список функций, второй и третий – ограничения по
осям координат. Третий аргумент является необязательным, если его не указать,
то он будет подобран автоматически.

Функция
Plot3d
имеет два варианта вызова: один для явного задания функции и один для
параметрического.  Обоих случаях функция принимает три аргумента.

Построение графиков в пространстве.

Синтаксис
функции
plot3:
Plot3d
(выражение, [переменная1, начало, конец], [переменная2, начало, конец]);

Построение
нескольких поверхностей в одной системе координат не поддерживается – поэтому,
вероятно, что на таком рисунке проблематично было бы что-либо вставлять.
Поэтому для параметрически заданной функции слово
parametric 
не требуется. График параметрически заданной функции строится так:

Plot3d
([выражение1, выражение2, выражение3], [перемееная1, начало, конец],
[переменная2, начало, конец]);
, где выражения отвечают
по порядку.

Пример №1:
Постройте поверхность
+4

1.           
Воспользуемся функцией plot3d.
На панели инструментов выберите вкладку «графики» → «
plot
3
d».
Появиться окно:

2.           
Введем уравнение x^2-4*x+4
и зададим отрезки
. Получаем график:

Пример №2:
Построить поверхность

 ,  .

В
данном примере также можно воспользоваться двумя способами.

1 способ:

1.           
Для этого воспользуемся функцией plot3d.
На панели инструментов выберите вкладку «графики» → «
plot
3
d».
Появиться окно:

3.           
Введем уравнение  и зададим отрезки. Получим график:

2 способ:

Ввести
в рабочем поле:

и
получим такой же график.

Пример №3:
Построить график поверхности заданный параметрически
  на промежутках ,  , [grid,
150,150].

Запишем
это в
wxMaxima следующим образом:

И
получим график следующего вида:

Пример №4:
Построить график поверхностей
 на промежутках  и .

Запишем
это в
wxMaxima и получим следующий
график:

И
получим график следующего вида:

Задания для проверки знаний учащихся

Карточка №1

Построение графиков на плоскости

1.     Постройте
график функции

2.      Постройте
график функции
 на промежутке

3.     Постройте
график функции из задания 1 и найдите точку пересечения с осями.

Карточка №2

Построение графиков на плоскости

1.     Постройте
график функции

2.      Постройте
график функции
 на промежутке

3.     Постройте
график функции из задания 1 и найдите точку пересечения с осями.

Карточка №3

Построение графиков на плоскости

1.     Постройте
график функции

2.      Постройте
график функции
 на промежутке

3.     Постройте
график функции из задания 1 и найдите точку пересечения с осями.

Карточка №4

Построение графиков на плоскости

1.     Постройте
график функции

2.      Постройте
график функции
 на промежутке

3.     Постройте
график функции из задания 1 и найдите точку пересечения с осями.

Задания для проверки знаний учащихся

Карточка №1

Построение графиков в пространстве

1.    
Постройте поверхность

2.    
Постройте поверхность

3.    
Создайте свою поверхность.

Карточка №2

Построение графиков в пространстве

1.    
Постройте поверхность

2.    
Постройте поверхность

3.    
Создайте свою поверхность.

Карточка №3

Построение графиков в пространстве

1.    
Постройте поверхность

2.    
Постройте поверхность

3.    
Создайте свою поверхность.

Карточка №4

Построение графиков в пространстве

1.    
Постройте поверхность

2.    
Постройте поверхность

3.    
Создайте свою поверхность.

Вопросы для проверки:

1.    
Дайте определение понятию функция.

2.    
Что называется графиком функции?

3.    
Перечислите способы построения графиков.

4.    
Перечислите
команды, используемые для построения графиков на плоскости и в пространстве.

§8. Вычисление пределов функций.

Предел функции[10] y=f(x)  при  является А, если из того, что x
неограниченно возрастает, следует, что соответствующие значения функции
f(x)  стремятся к А.

limit (функция,
переменная, значение) – позволяет вычислить предел.

Предел слева
обозначается
minus, а справа — plus.

Maxima может искать пределы не только в конечных точках, но и на
бесконечности. Среди стандартных обозначений программы существуют универсальные
названия для разных бесконечностей: плюс-бесконечность записывается через inf,
минус-бесконечность — через minf, При
работе с пределами все обозначения могут как использоваться при вводе, так и
возникать в виде найденного значения предела; при выводе могут отображаться в
своей традиционной математической нотации, ∞ и −∞;

Пример № 1:
Вычислить придел

1.    
На панели
инструментов открыть вкладку «Анализ»→ «
Find limit».
После чего появиться следующее окно:

Здесь, кроме выражения мы можем указать
еще и направление.

2.    
В графу «выражение» вводим «x^2».

3.    
В графе «точка» можно выбрать
дополнительно: пункт «бесконечность».

4.    
После чего появляется окна со следующим
ответом:

Пример
№ 2:
Вычислите придел  при x→1

Задание для проверки знаний учащихся

Карточка №1

1.     Вычислите

2.     Вычислите

3.     Вычислите

4.     Вычислите

5.     Вычислите

Карточка №2

1.     Вычислите

2.     Вычислите

3.     Вычислите

4.     Вычислите

5.     Вычислите

Карточка №3

1.     Вычислите

2.     Вычислите

3.     Вычислите

4.     Вычислите

5.     Вычислите

Карточка №4

1.     Вычислите

2.     Вычислите

3.     Вычислите

4.     Вычислите

5.     Вычислите

Вопросы для проверки:

1.    
Что называется пределом?

2.    
Какая функция используется в программе для вычисления пределов

3.    
Каким образом можно посчитать пределов функций слева и справа?

§9. Вычисление производных функций

Производной функции[11] , заданной на некотором интервале , в точке x этого интервала называют предел отношения
приращения функции в этой точке к соответствующему приращению аргумента, когда
приращение аргумента стремится к нулю.

Производная функции  при данном x из интервала  (если она в этой точке x существует) есть число. Если Производная
функции
 существует при каждом значении x из
интервала
, то производная есть функция от x,
определенная на интервале
. Обозначается: . Также широко употребляются и другие обозначения производной: .

Производная элементарных функций

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

Таблица 5

Производные элементарных функций

 (n принадлежит N)

 (n принадлежит N)

,  a>0

,  a>0

,  a>0, a≠1

, (a>0, a≠1)

В программе Maxima используется следующая функция для нахождения производной:

diff – позволяет
найти производные, как первого, так и более высоких порядков. Синтаксис:
diff(функция, переменная,
порядок производной).

Проверим с помощью программы Maxima производные элементарных функций.

Пример №1: Посчитайте производную числа 5

1.                
На панели инструментов открыть вкладку «Анализ» → «differentiate» и затем
появляется окно:

2.       
Записываем выражение, а именно число 5 и получаем:

Пример №2: Посчитайте производную x

Пример №3: Посчитайте производную sin x

Пример №4: Посчитайте производную

Пример №5: Посчитайте производную tg(x)

Таким образом, проверяются производные элементарных функций. Как
записать тригонометрические выражения см. §1.

Производная
суммы. Производная разности

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

Теорема 1: [12] Если функции u(x) и v(x) имеют в точке x производные, то их сумма
 также имеет в этой точке производную,
равную
.

Аналогично сумме рассматривается разность: .

Теорема 2:[13] Если функция u(x) имеет в точке x производную и A– данное число,
то функция
 также имеет в этой точке производную,
равную
.

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

Пример №1: Вычислите производную суммы

1.                
На панели инструментов открыть вкладку «Анализ» → «differentiate» и затем
появляется окно:

2.                
Записываем выражение, а именно x^2+x и получаем:

Пример №2: Вычислите производную разности

Пример №3: Вычислите производную

Пример №4: Вычислите производную

Производная
произведения. Производная частного

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

Теорема 1[14]: Если функции u(x) и v(x) имеют производные
в точке
x, то их
произведение
 также имеет в этой точке производную,
равную
.

Теорема 1[15]: Если функции u(x) и v(x) имеют
производные в точке
x и , то их частное  также имеет в этой точке производную,
равную
.

В Maxima для вычисления произведения и частного производной также
используется функция
diff и тот же синтаксис.

Пример №1: Вычислите производную произведения

1.     На панели
инструментов открыть вкладку «Анализ» → «
differentiate» и затем
появляется окно:

2.     Записываем
выражение, а именно
x^2*%e^(-x) и получаем:

Пример №2: Вычислите производную произведения

Пример №3: Вычислите производную произведения

Пример №4: Вычислите производную частного

Производная сложной
функции

«Двухслойная» сложная функция[16]
записывается в виде
, где  — внутренняя
функция, являющаяся, в свою очередь, аргументом для внешней функции f.
Если f и g — дифференцируемые функции, то сложная функция
 также дифференцируема по x и ее производная равна .

Данная формула показывает, что производная
сложной функции равна произведению производной внешней функции на производную
от внутренней функции. Важно, однако, что производная внутренней функции
вычисляется в точке x, а производная внешней функции — в точке
Эта формула легко
обобщается на случай, когда сложная функция состоит из нескольких
«слоев», вложенных иерархически друг в друга
.

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

Пример №1: Для любого  найти производную функции :

1.                
Чтобы найти производную выражения   необходимо, на панели инструментов
открыть вкладку «Анализ» → «
differentiate» и затем появляется
окно:

2.     Записываем
выражение, а именно
sin (k*x+b) и получаем:

Пример №2: Вычислите производную сложной функции

Пример №3: Вычислите производную сложной функции

Задания для проверки знаний учащихся

Карточка №1

1.    
Проверьте
производные из таблицы 5.

2.    
Вычислите
производные

a) 

b)

c) 

d)

Карточка №2

1.    
Проверьте
производные из таблицы 5.

2.    
Вычислите
производные

a)    

b)   

c)    

d)   

Карточка №3

1.    
Проверьте
производные из таблицы 5.

2.     Вычислите производные

a) 

b)

c) 

d)

Карточка №4

1.    
Проверьте
производные из таблицы 5.

2.    
Вычислите
производные

a)    

b)   

c)    

d)   

Вопросы для проверки:

1.    
Дайте определение производной функции. Перечислите операции,
выполнимые для производной. На основании чего мы можем их выполнить?

2.    
Какие команды используются для вычисления производной в программе Maxima?

§10. Вычисление интегралов функций

Пусть f – функция, определенная на некотором интервале l. Определенная на
этом же интервале функция
F называется первообразной функции f [17] тогда и только тогда, когда F на l дифференцируема
и
F’(x)=f(x) для всех  

Вычисление первообразной заключается в нахождении
неопределённого интеграла, а сам процесс называется интегрированием.

Неопределённый интеграл для функции  — это совокупность всех первообразных
данной функции.

Если функция определена и непрерывна на промежутке (a,b) и F(x) — её
первообразная, то есть
F’(x)=f(x) при , то  , где С – произвольная постоянная.

Если функция f интегрируема в интервале
[
a,b], то общий предел
последовательностей
 и  называется
определенным интегралом [18] функции
f в интервале [a,b]. Определенный интеграл
обозначается символом:
. Его можно
найти по формуле Ньютона — Лейбница:
.

Чтобы решить интегралы в Maxima, нужно воспользоваться
следующими функциями:

Integrate (функция, переменная)
функция для нахождения неопределенного интеграла, где в качестве аргументов
указывается функция и переменная интегрирования.

Integrate (функция, переменная, левый предел, правый предел) – функция нахождения определенного интеграла, где в качестве
аргументов указывается функция, переменная интегрирования, левый и правый
пределы.

В качестве пределов
интегрирования могут фигурировать бесконечность (
inf) и минус бесконечность (minf).

Бывают случаи, когда интеграл
расходиться и
Maxima выдает сообщение «Integral is divergent».

В некоторых случаях Maxima может попросить
доопределить некоторую переменную, как в случае интегрирования функции
.

Пример №1: Вычислить неопределенный
интеграл
+3

1.     На панели инструментов выберите вкладку «анализ» → «integrate».

2.     Появиться окно:

3.    
Запишем выражение x^2+5*x+3 и нажмем «ОК». Получаем:

Пример №2: Вычислить определенный
интеграл
 от 0
до π.

1.     На панели инструментов выберите вкладку «анализ» → «integrate».

2.     Затем появиться окно:

3.     Запишем выражение sin(x) поставим галочку
напротив определенного интегрирования, обозначим пределы интегрирования от 0 до
π.

4.     Поставим галочку численное интегрирование и нажмем «ОК».
Получили:

Пример №3: Вычислить определенный
интеграл
 от 0
до бесконечности

Пример №4: Вычислить интеграл

Задания для проверки знаний учащихся

Карточка №1

1.    
Вычислите неопределенный интеграл

2.    
Вычислите определенный интеграл  от 0 до π.

3.    
Вычислите определенный интеграл  от минус бесконечности
до нуля

Карточка №2

1.    
Вычислите неопределенный интеграл

2.    
Вычислите определенный интеграл  от 0 до π.

3.    
Вычислите определенный интеграл  от нуля до
бесконечности.

Карточка №3

1.    
Вычислите неопределенный интеграл

2.    
Вычислите определенный интеграл  от 0 до 10.

3.    
Вычислите определенный интеграл  от -3до 0.

Карточка №4

1.    
Вычислите неопределенный интеграл

2.    
Вычислите определенный интеграл  от 0 до π.

3.    
Вычислите определенный интеграл  от -2 до 4

Вопросы для проверки:

1.    
Дайте определение понятию интеграл.
Расскажите о вычислении интеграла.

2.    
Какие команды используются в программе Maxima,
для вычисления интегралов?

3.    
Найдите интеграл, для которого Maxima
не дает ответ.

Практические и
контрольные работы

Практическая
работа №1

Используя
математический пакет
Maxima:

1.       
Вычислить

2.       
Найти значение выражения  в
десятичной записи.

3.       
Задать . Найти сумму .

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

Указания к выполнению работы:
Все задания выполняются в СКМ
Maxima
с подробным описанием технологии выполнения.

Практическая
работа № 2

Используя
математический пакет
Maxima:

1.       
Задать функцию  и найти ее значение при

2.       
Разложить на множители полином .

3.       
Упростить .

4.       
Упростить .

5.       
Упростить

Указания к выполнению работы:
Все задания выполняются в СКМ
Maxima
с подробным описанием технологии выполнения.

Практическая
работа № 3

Используя
математический пакет
Maxima:

1.  
Решить уравнение

2.  
Численно найти оба корня уравнения

3.  
Найти решение систем уравнений:

a)  
                      б)

4.  
Найти численное решение системы:

Указания к выполнению работы:
Все задания выполняются в СКМ
Maxima
с подробным описанием технологии выполнения.

Практическая
работа № 4

Используя
математический пакет
Maxima
построить графики функций:

1.                                        
,     2.      3.            4.

5.                                        
             6.            7.          8.

9.

Указания к выполнению работы:
Все задания выполняются в СКМ
Maxima
с подробным описанием технологии выполнения.

Практическая
работа № 5

(для
сильных учеников)

Используя
математический пакет
Maxima:

1.                                        
На одном чертеже постройте графики функций
 и   (x[-4;4]).

2.                                        
Постройте график функции:

3.                                        
Постройте пятиконечную звезду, задав
координаты ее вершин в виде набора точек.

Указания к выполнению работы:
Все задания выполняются в СКМ
Maxima
с подробным описанием технологии выполнения.

Практическая
работа № 6

Используя
математический пакет
Maxima
найти пределы функций:

Указания к выполнению работы:
Все задания выполняются в СКМ
Maxima
с подробным описанием технологии выполнения.

2.1 Структура Maxima

Пакет Maxima состоит из интерпретатора макроязыка, написанного на Lisp, и нескольких поколений пакетов расширений, написанных на макроязыке пакета или непосредственно на Lisp. Maxima позволяет решать достаточно широкий круг задач, относящихся к различным разделам математики.

2.1.1 Области математики, поддерживаемые в Maxima

  • Операции с полиномами (манипуляция рациональными и степенными выражениями, вычисление корней и т.п.)
  • Вычисления с элементарными функциями, в том числе с логарифмами, экспоненциальными функциями, тригонометрическими функциями
  • Вычисления со специальными функциями, в т.ч. эллиптическими функциями и интегралами
  • Вычисление пределов и производных
  • Аналитическое вычисление определённых и неопределённых интегралов
  • Решение интегральных уравнений
  • Решение алгебраических уравнений и их систем
  • Операции со степенными рядами и рядами Фурье
  • Операции с матрицами и списками, большая библиотека функций для решения задач линейной алгебры
  • Операции с тензорами
  • Теория чисел, теория групп, абстрактная алгебра

Перечень дополнительных пакетов для Maxima, которые необходимо загружать перед использованием, существенно расширяющих её возможности и круг решаемых задач, приведён в приложении 1.

2.2 Достоинства программы

Основными преимуществами программы Maxima являются:

  • возможность свободного использования (Maxima относится к классу свободных программ и распространяется на основе лицензии GNU);
  • возможность функционирования под управлением различных ОС (в частности Linux и Windows™ );
  • размер программы (дистрибутив занимает порядка 23 мегабайт, в установленном виде со всеми расширениями потребуется около 80 мегабайт);
  • широкий класс решаемых задач;
  • возможность работы как в консольной версии программы, так и с использованием одного из графических интерфейсов (xMaxima, wxMaxima или как плагин (plug-in) к редактору TexMacs);
  • расширение wxMaxima (входящее в комплект поставки) предоставляет пользователю удобный и понятный интерфейс, избавляет от необходимости изучать особенности ввода команд для решения типовых задач;
  • интерфейс программы на русском языке;
  • наличие справки и инструкций по работе с программой (русскоязычной версии справки нет, но в сети Интернет присутствует большое количество статей с примерами использования
    Maxima);

2.3 Установка и запуск программы

Скачать последнюю версию программы можно с её сайта в сети Интернет: http://maxima.sourceforge.net/. Русская локализация сайта: http://maxima.sourceforge.net/ru/.

Система компьютерной алгебры Maxima присутствует в большинстве дистрибутивов, однако зачастую в списке дополнительных программ, которые можно скачать в Интернете в версии для данного дистрибутива. Примеры и расчёты в данной книге выполнены с использованием дистрибутива Alt Linux 4.1 Desktop1Некоторые примеры проверялись в более поздней версии Maxima 5.26.0..

2.4 Интерфейс wxMaxima

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

Достоинствами wxMaxima являются:

  • возможность графического вывода формул (см. иллюстрации ниже)
  • упрощённый ввод наиболее часто используемых функций (через диалоговые окна), а не набор команд, как в классической Maxima.
  • разделение окна ввода данных и области вывода результатов (в классической Maxima эти области объединены, и ввод команд происходит в единой рабочей области с полученными результатами).

Рассмотрим рабочее окно программы. Сверху вниз располагаются: текстовое меню программы — доступ к основным функциям и настройкам программы. В текстовом меню wxMaxima находятся функции для решения большого количества типовых математических задач, разделённые по группам: уравнения, алгебра, анализ, упростить, графики, численные вычисления. Ввод команд через диалоговые окна упрощает работу с программой для новичков.

При использовании интерфейса wxMaxima, Вы можете выделить в окне вывода результатов необходимую формулу и вызвав контекстное меню правой кнопкой мыши скопировать любую формулу в текстовом виде, в формате \TeX или в виде графического изображения, для последующей вставки в какой-либо документ.

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

Максима-логотип

Максима Инк Корпорация предоставляет услуги в области информационных технологий. Компания предлагает поддержку программного обеспечения, проектирование компьютерных систем и управление средствами обработки данных. Их официальный webсайт maxima.com.

Каталог руководств пользователя и инструкций для продуктов maxima можно найти ниже. продукты maxima запатентованы и зарегистрированы под торговыми марками Максима Инк.

Контактная информация:

Адрес: 9266 Авраам Уэй Санти, Калифорния 92071

Поиск

Ознакомьтесь с руководством пользователя индукционной плиты MAXIMA, номера моделей 09371011 и 09371012. В этом подробном руководстве содержатся инструкции по настройке, эксплуатации, техническому обслуживанию, устранению неполадок, хранению и утилизации. Обеспечьте безопасное и эффективное использование благодаря подробной информации о подключении, очистке и решении проблем. Обратитесь к этому руководству, чтобы узнать об оптимальной производительности и долговечности вашей индукционной плиты.

Узнайте, как безопасно и эффективно использовать BC 1, BC 2, BC 3, BCS 2, BCS 3, BCU 1 и BCU 2 Polar G Series Back Bar Coolers, из нашего подробного руководства пользователя. Получите информацию о продукте, размеры, технические характеристики питания, сведения о системе охлаждения и многое другое. Обеспечьте правильное использование и избегайте повреждений, следуя нашим правилам техники безопасности.

Узнайте, как использовать тостер Maxima с моделями MT-4 и MT-6. Изучите пошаговые инструкции для оптимальных результатов поджаривания. Ознакомьтесь с техническими характеристиками, энергопотреблением и советами по очистке. Убедитесь, что ваш продукт прослужит вам должным образом.

Узнайте, как безопасно и легко использовать тостеры Maxima, включая модели MTT 150, MTT 300 и MTT 450. Прочтите руководство пользователя для ознакомления со спецификациями, инструкциями и советами по техническому обслуживанию. Наслаждайтесь идеально поджаренными блюдами каждый раз!

Перед использованием прочтите руководство пользователя тележки для очистки Maxima MCT. Эта простая в использовании тележка имеет 4 контейнера, 4 колеса (2 с тормозами) и ограничение по весу. Соблюдайте правила техники безопасности и инструкции по сборке для оптимального использования. Свяжитесь с Максима для вопросов.

Получите максимальную отдачу от своего хирургического светодиодного налобного осветителя MAXIMA B09Z8MFVHD с помощью этого подробного руководства пользователя. Узнайте, как использовать и обслуживать светодиодные фары для оптимальной работы. Скачать сейчас.

Узнайте, как безопасно использовать автоматический шприц для колбасных изделий Maxima, из нашего подробного руководства пользователя. Доступный в 10- и 15-литровых моделях (09368450 и 09368460), этот продукт, сертифицированный CE, оснащен электрическим вводом скорости поршня, панелью управления и аварийной остановкой. Обеспечьте безопасность себе и другим, внимательно прочитав инструкцию перед использованием.

Узнайте о функциях и инструкциях по использованию полировщика столовых приборов Maxima, включая номера моделей 09380002 и 09380003. Это руководство пользователя содержит рекомендации по безопасности и информацию о продукте для оптимального использования. Поддерживайте чистоту и эффективность столовых приборов с помощью этого необходимого коммерческого инструмента.

Это руководство пользователя предназначено для нарезки картофельных чипсов MAXIMA 09399303, который предназначен для нарезки картофеля на одинаковые ломтики или чипсы. Он включает в себя инструкции по первоначальной настройке, рекомендации по эксплуатации, советы по обслуживанию и рекомендации по устранению неполадок. Запасные части доступны для покупки, и предоставляются инструкции по технике безопасности. Это простое в использовании руководство пользователя поможет вам поддерживать вашу картофелерезку в отличном состоянии.

В этом руководстве пользователя содержатся подробные инструкции по полировщику стекла MAXIMA, включая номера моделей 09380000 и 09380001. Узнайте об установке, эксплуатации, очистке и техническом обслуживании этой мощной машины для полировки стекла. Получите максимальную отдачу от своей покупки с помощью этого подробного руководства.

Понравилась статья? Поделить с друзьями:
  • Инструкция по эксплуатации линий электропередачи напряжением до 1000 в
  • Line6 spider v20 инструкция на русском
  • Рифаксимин инструкция по применению цена отзывы врачей
  • Восточное депо руководство
  • Руководство по электропроводке