Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Начальное знакомство с системой Mathematica






Ознакомимся с работой системы на практике. Запустим программу из меню Пуск. Автоматически откроется новое рабочее поле в виде автономного окна (в Mathematica оно называется Notebook – блокнот). Можно открыть второе и большее количество таких окон. На рисунке 3.1 открыто два окна, и в них проведены простейшие вычисления.

Самое главное, что надо знать о Mathematica в отношении сравнения ее с другими системами компьютерной алгебры: ее язык внешне достаточно сильно отличается от языка Maple, но по внутреннему «устройству» и по приемам работы с интерфейсом весьма похож на него. Так что пользователь, владеющий, допустим, навыками работы с Maple, не испытает принципиальных неудобств при переходе на Mathematica, в отличие от MATLAB, который потребует от него значительной перестройки. А именно: в Mathematica, так же как в Maple, вы набираете оператор в командной строке и для его выполнения нажимаете Shift–Enter (отличие от Maple и MATLAB, где нажимается просто Enter – сравнение, конечно, не в пользу Mathematica, но при длительном пользовании это входит в привычку).

Рис. 3.1. Окно системы Mathematica после запуска, открытия второго окна и выполнения простейших вычислений

А далее, в отличие от MATLAB и подобно Maple, если вы захотите повторить какое-то вычисление, то можно установить курсор вставки в соответствующей строке щелчком и нажать Shift–Enter. Это же можно сделать иначе: установите I-образный курсор на квадратную скобку справа от формулы (курсор при этом изменит свой вид) и щелкните один раз. Скобка «почернеет». Тем самым выделена ячейка, содержащая нужную формулу. Теперь достаточно нажать Shift + Enter. Нужное вычисление будет выполнено. При желании выделенные ячейки можно копировать и размножать обычными для систем с графическим интерфейсом приемами (кнопками или меню). Повторим, все перечисленное является совершенно естественным для пользователя Maple и составляет одно из основных неудобств при его переходе на MATLAB. А вот что очень непривычно для тех, кто привык иметь дело с Maple и является одним из проявлений различий в языках: а) аргументы функций заключаются в квадратные скобки; б) имена функций, встроенных в систему Mathematica, начинаются с заглавных букв.

Как обычно в Windows, для сохранения из меню File выбирается пункт Save As и записывается протокол проведенных расчетов в файл (для Mathematica 5 с расширением.nb – от слова Notebook).

Как видно из рисунка 3.1, арифметические действия в системе Mathematica изображаются обычным образом: +, -, *, ^, но вместо знака умножения можно набирать пробел. Подобно MATLAB и в отличие от Maple, точка с запятой означает команду выполнить оператор и распечатать результат его выполнения, а команда «печатать» – это отсутствие какого-либо знака после оператора.

Внешне отличаются, а по сути применяются точно так же, многие операторы Maple, например evalf: в Mathematica это просто буква N:

N[Pi/2]

1.5708

N[33/7-Sqrt[2]]

3.30007.

Или, например, оператор подстановки (subs в Maple) имеет весьма непривычный и громоздкий вид:

r/.{x®w, y®u}

u+w.

Из следующей строчки проясняется синтаксис этого оператора:

1+x^2+x^4/.x®2

21.

Интересно, что некоторые операторы имеют такой же вид, что и в Maple, но в их действиях есть различия. Например, это относится к simplify: в обеих системах это оператор, упрощающий выражения, но, видимо, понятие «упрощение» создатели двух систем понимают несколько по-разному. Так, в Mathematica разложим степень разности на отдельные слагаемые с помощью оператора Expand, а затем применим к результату Simplify:

q=Expand[(x-y)^3]

 

Simplify[q]

.

А вот что в такой ситуации сделает Maple:

> q: =expand((x-y)^3);

> simplify(q);

.

Т.е. expand «сработал» так же, а упрощение в Maple понимается как разложение, а в Mathemanica – наоборот, как представление в свернутом виде. Кстати, в Mathematica, помимо обычного Simplify, есть еще «более мощный» оператор FullSimplify. Например, в нижеследующей ситуации Simplify не справляется, а его усиленный аналог – да:

Simplify[Gamma[z] Gamma[1-z]]

Gamma[1-z] Gamma[z]

FullSimplify[Gamma[z] Gamma[1-z]]

p Csc[p z].

Впрочем, в Maple с этой задачей упрощения произведения гамма-функций справится и обычный оператор:

> q: =GAMMA(z)*GAMMA(1-z);

> simplify(q);

.

Для первичного знакомства с системой, читателю настоятельно рекомендуется проработать все пункты превосходно написанного Tutorial из меню Help в Mathematica. Как неоднократно указывалось, подробное изложение языков и структуры систем выходит за рамки данного пособия. Ограничимся тем, что разберем примеры, решенные выше в Maple и MATLAB.

Функции описываются с помощью знака: =

a=2; f[x_]: =Sin[a*x]/x; g[y_]: =Sin[b*y]

f[1]

Sin[2]

g[3]

Sin[3 b].

Причем x_, y_ означают произвольные переменные под именами x, y. Численные значения выражений и подстановка параметров:

N[f[1]]

-0.378401

N[g[3]/.b®Pi/9]

0.909297.

Построение графиков описанных функций:

Plot[{f[x], g[x]/.b®2}, {x, -15, 15}]

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

 

Построим график функции sin(x+y):

Plot3D[S in[x+y], { x, -2, 2 }, { y, -2, 2 }].

Рис. 3.3. Пример построения графика функции от двух переменных

 

Решим задачу (1.1) о нахождении емкости трех последовательно включенных емкостей (конденсаторов) C1, C2 и C3 произвольной величины, разобранную в Maple и MATLAB.

eq=1/C0==1/C1+1/C2+1/C3; r=Solve[eq, C0]

r/.{C1®2, C2®1, C3®4}

N[r/.{C1®2, C2®1, C3®4}]

{{C0®0.571429}}

Операцию присваивания полученных в процедуре решения функции (в данном случае одной – C0) можно провести следующим образом:

C0=C0/.r

s=C0/.{C1®2, C2®1, C3®4}

.

Видно, что теперь С0 определена как функция трех переменных. Результат подстановки в нее значений емкостей 2, 1 и 4 обозначен как s. С ним можно производить действия:

N[s]+1

{1.57143}

Вычисление производных и интегралов:

D[Sin[x]^2+Cos[x]^3, x]

Integrate[Sin[x], x]

-Cos[x]

Integrate[Sin[x], {x, 0, Pi}]

2.

Неберущиеся интегралы в численном виде:

q1=Integrate[Exp[-x^2], {x, -1, 1}]

q2=Integrate[Exp[-x^3], {x, -1, 1}]

N[q1]

1.49365

N[q2]

Интересно отметить, что в случае интеграла q2, в отличие от Maple и MATLAB, система Mathematica пыталась как-то вычислить его, преобразовав к сумме гамма-функций и интегральной экспоненты.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.