Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы аналитических вычислений

.pdf
Скачиваний:
15
Добавлен:
03.05.2015
Размер:
645.65 Кб
Скачать

Будьте внимательны и отличайте одиночные кавычки (апострофы) ', которые задерживают вычисление значения, от обратных кавычек `, которые используются для выделения имен (идентификаторов) и двойных кавычек ", которые используются для выделения строк литер.

> `My lucky number`:=7; `My lucky number`-2;

`My lucky number` := 7 5

> print("Как вы поживаете?");

"Как вы поживаете?"

3. КАК СОХРАНИТЬ И ПОЛУЧИТЬ ОБРАТНО ВАШУ РАБОТУ

Maple для Windows сохраняет файлы почти так же, как и любое другое приложение Windows: используйте меню File, выберите Save или Save as... . Вы получите файл со стандартным расширением ".mws" .Выберите Open, чтобы получить обратно рабочее поле из файла.

Заметим, что результаты вычислений не сохраняются в файле. После повторного получения вашего ранее сохраненного рабочего поля следует вновь последовательно нажать Enter на всех исполняемых ячейках, или из меню Edit выбрать Execute и Worksheet.

По умолчанию, запись (Save) производится на текущий диск, например, на рабочий диск E:. После завершения работы скопируйте нужные вам Maple-файлы на свою дискету (дисковод A:) и, при желании - в личный архив (диск K:).

Заметим, что Save as... открывает диалоговое окно, в котором, помимо местонахождения и нового имени файла, подлежащего сохранению, вы можете указать, каким типом файла вы желаете воспользоваться. Для сохранения текущего рабочего поля как сеанса работы в Maple V, выберите расширение .mws . Расширение .txt обеспечит сохранение материалов рабочего поля в виде простого текстового ASCII файла.

УПРАЖНЕНИЕ: Присвойте a:= 16; , затем сохраните (Save) сеанс вашей работы, завершите работу (Quit), повторно запустите Maple и вновь загрузите (Open) ваше рабочее поле. Проверьте действуют ли по-прежнему операции присваивания (т.е., если a:=16 до сохранения, будет ли a:=16 после обратного получения?).

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

11

4. ПАКЕТЫ MAPLE

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

> with(linalg):

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

УПРАЖНЕНИЕ: Введите одну из следующих команд, и запишите добавленные при этом функции (в следующем разделе мы сообщим вам во всех подробностях, как выяснить, что они делают).

>with(linalg);

>with(student);

>with(plots);

>with(stats);

Вкачестве примера рассмотрим некоторые возможности одного из самых "милых" для студентов-математиков пакета student.

Вычислим интеграл x4 x5 +1 dx . Maple V позволяет сделать это без труда:

>I1 := Int(x^4*sqrt(x^5+1),x): % = value(%);

Атеперь посмотрим, как действует метод подстановки (замены переменной), для чего воспользуемся командой changevar пакета student. Сделаем подстановку u = x5 + 1 :

>I2 := student[changevar](x^5+1=u,I2,u);

Найдем значение полученного интегралa:

> value(%);

12

И, наконец, произведем обратную подстановку:

> subs(u=x^5+1,%);

Теперь вычислим интеграл x3 ln x dx :

> Int(x^3*ln(x),x): %:=value(%);

Рассмотрим известную формулу интегрирования по частям uv' dx = uv u' v dx и вычис-

лим этот же интеграл, используя функцию intparts пакета student. В качестве u выберем ln(x) :

> student[intparts](Int(x^3*ln(x),x),ln(x)): %=value(%);

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

13

Здесь три вида графиков построены в отдельных графических окнах (более подробно графические возможности Maple обсуждаются в Разделе 6.

5. СИСТЕМА ДИАЛОГОВОЙ ПОДСКАЗКИ В MAPLE Встроенная подсказка

Для общей подсказки, в спускающемся меню Help, Maple предлагает вам мощную справочную базу данных. Вы можете искать что-нибудь подходящее по контексту. Имеются также очень полезные режимы предметного поиска. Чтобы получить подсказку по любой команде или процедуре Maple, ну скажем, simplify, введите ?simplify после приглашения Maple. Появится окно следующего содержания:

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

Полный текст полученной нами подсказки приведен ниже.

simplify - Apply Simplification Rules to an Expression

Calling Sequence: simplify(expr) simplify(expr, n1, n2, ...) simplify(expr, assume=prop)

14

Parameters:

expr - any expression

n1, n2,… - (optional) names or sets or lists prop - any property (optional)

Description:

· The simplify function is used to apply simplification rules to an expression. If only one argument is present, then simplify will search the expression for function calls, square roots, radicals, and powers. Next it will invoke the appropriate simplification procedures, which include:

BesselI,

BesselJ,

BesselK,

BesselY,

D,

Ei,

GAMMA,

RootOf,

LambertW,

dilog,

exp,

ln,

sqrt,

polylog,

pochhammer,

trig

(for trig functions),

 

hypergeom

(for hypergeometrics),

 

radical

(occurrence of fractional powers),

power

(occurrence of powers, exp, ln),

and atsign ("@") (for operators).

· In the case of two or more arguments where the additional arguments are names, simplify will only invoke the simplification procedures specified by the additional arguments.

·Further information on the simplification procedures supported is available in the help pages simplify[name] where name is one of: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig.

·A user can make his own simplifications known to the simplify function by defining a Maple procedure. If the procedure `simplify/f` is defined then the function call simplify(a,f) will invoke `simplify/f`(a) .

·The case of two or more arguments where the additional arguments are sets or lists is used for simplification with respect to side relations. See the subtopic simplify[siderels] for details.

·Whenever the last argument is assume=prop, all the indeterminates in expr are assumed to have the property prop to compute the simplified expression.

Examples:

> simplify(4^(1/2)+3);

5

> simplify((x^a)^b+4^(1/2), power);

( xa ) b + 2

> simplify(exp(a+ln(b*exp(c))));

b e ( a + c )

> simplify(sin(x)^2+cos(x)^2, trig);

1

> e := cos(x)^5 + sin(x)^4 + 2*cos(x)^2 - 2*sin(x)^2 - cos(2*x):

simplify(e);

cos(x)5 + cos(x)4

15

>f := -1/3*x^5*y + x^4*y^2 + 1/3*x*y^3 + 1: simplify(f, {x^3 = x*y, y^2 = x+1});

1+ y5 + y4 - 2 y3 - y2 + y

>g:=sqrt(x^2);

g:= x 2

> simplify(g);

csgn(x) x

> simplify(g,assume=real);

signum(x) x

> simplify(g,assume=positive);

x

See Also:

collect, combine, convert, expand, factor, normal, radsimp, assume, simplify[name] where name is

one of: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig

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

simplify - Применяет правила упрощения к выражению

Командная последовательность: simplify(expr)

simplify(expr, n1, n2, ...) simplify(expr, assume=prop)

Параметры:

expr - любое выражение

n1, n2,... - (необязательные) имена систем или списков prop - любое свойство (необязательно)

Описание:

· Функция simplify используется для применения правил упрощения к выражению. Если имеется только один аргумент, то simplify будет искать в выражении вызовы функций, квадратные корни, радикалы и степени. Затем она обращается к соответствующим процедурам упрощения, в том числе:

BesselI, BesselJ, BesselK, BesselY, D, Ei, GAMMA, RootOf, LambertW, dilog, exp, ln, sqrt, polylog, pochhammer, trig (для тригонометрических функций), hypergeom (для гипергеометрических), radical (наличие дробных степеней), power (наличие показателей степени, экспонент, логарифмов), и atsign ("@") (для операторов).

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

16

·Дальнейшая информация о поддерживаемых процедурах упрощения имеется на страни-

цах подсказки simplify[name] где name это одно из: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig.

·Пользователь может сообщить функции simplify о своих собственных упрощениях, определяя процедуру в Maple. Если определена процедура `simplify/f`, то вызов функции simplify(a,f) обеспечит обращение к `simplify/f`(a) .

·В случае двух или более аргументов, когда дополнительными аргументами являются системы или списки, упрощение производится по дополнительным соотношениям. Подробности смотрите в подтеме simplify[siderels] .

·Когда последним аргументом является assume=prop, то при вычислении упрощенного выражения предполагается, что все переменные в expr обладают свойством prop.

Примеры: . . . . . . . . . . . . . .

Смотри также:

collect, combine, convert, expand, factor, normal, radsimp, assume, simplify[name] где name это одно из: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig.

*Заметьте, что упрощение это хитрая штука -- "простейшая" форма часто зависит от контекста. Например, иногда вы хотели бы иметь многочлен в раскрытом виде; а иногда вы предпочли бы разложить его на множители. В разделе подсказки See Also ("Смотри также") показаны возможные альтернативы.

*Вы можете перейти сразу к примерам, введя ???simplify .

Полезное упражнение

Система подсказки в Maple является чудесным самоучителем! "Прогулка" по темам - страницам поисковой системы - это весьма поучительное УПРАЖНЕНИЕ. После появления подсказки по теме можно использовать спускающееся меню Edit и выделить весь ее текст: Select All (Ctrl+A), затем скопировать его в буфер: Copy (Ctrl+C) и вставить его: Paste (Ctrl+V) в ваше рабочее поле. Можно скопировать на свое рабочее поле только примеры из подсказки: Copy Example, тогда вы можете увидеть, что эти примеры делают.

* Запустите Help и выберите Using Help. Затем щелкните в поисковом "браузере" на

Mathematics, Algebra, Expression Manipulation, Simplifying, и simplify. Потом вы сможете "уб-

рать" с экрана ненужные окна подсказки.

17

* Выполните Topic Search (предметный поиск) для simplify. Выберите любую тему; скопируйте примеры на ваше рабочее поле и выполните их, чтобы увидеть, что же они делают.

*Выполните предметный поиск с полным обзором текста справки (Full Text Search) по слову normal; выберите любую тему.

*Попробуйте ввести следующие команды:

>?help

>?int

>?solve

>?fsolve

>?inifcns

>?interface

>?packages

>?student

6. ПОСТРОЕНИЕ ГРАФИКОВ

Maple может без труда строить графики. Рассмотрим некоторые примеры команд построения графиков (plotting):

Начнем с простого графика:

> plot( x^2, x=-2 .. 2 );

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

меню Plot Display, опцию Window.

18

Теперь добавим управление границами графика по вертикали:

> plot(exp(x), x=-10..10, y=-10..10);

Можно одновременно отобразить несколько графиков:

> plot({sin(x), x, x-x^3/6}, x=-2..2);

Параметрические кривые строятся следующим образом:

> plot( [ t*cos(t), t*sin(t), t = 0 .. 2*Pi ] );

19

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

> plot3d( 4 - x^2 - y^2, x=-3..3, y=-2..2, axes=BOXED);

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

УПРАЖНЕНИЕ: Введите следующие команды. Каждая из них дает примеры, скопируйте некоторые из них на ваше рабочее поле (и видоизмените их, если пожелаете).

>?plot

>?plot3d

>?plot[function]

>?plot[options]

>?plotdevice

>?showtangent

>?plots

7. ФУНКЦИИ И ПРОЦЕДУРЫ Функции

Математическая "функция" это отображение одного множества чисел на другое. Чтобы определить функцию, вы должны предусмотреть правило, ставящее одно число в соответствие другому. Рассмотрим следующий набор команд:

> f := x^2;

20