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

книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М

.pdf
Скачиваний:
1
Добавлен:
19.11.2023
Размер:
33.75 Mб
Скачать

и древесная кора. Все естественные фракталы, так же как и некоторые математиче­ ские самоподобные объекты, являются стохастическими, или случайными. Так что подобие во фракталах часто реализуется благодаря случайности. Если хотите, можно сказать, что подобие выражается в подобии законов, управляющих случаем. Возмож­ но, именно поэтому фракталы так долго не воспринимались всерьез “академической” наукой, ограничивавшейся, как правило, “идеальными” (детерминированными) и “правильно устроенными” фракталами вроде кривых Пеано, Гильберта, канторова мно­ жества и т.д. Однако когда физики занялись изучением сложно устроенных объектов, оказалось, что фракталы — не исключение, а повсеместно встречающиеся объекты. Более того, в некотором смысле именно из них и “сотворен мир” Поэтому изучению фракталов начали уделять все большее внимание. Однако при попытке применить компьютерное моделирование для изучения фракталов выяснилось, что написать нужные программы не так-то просто. И тому были причины... Попробуйте догадаться, какие.

Исторический обзор и первое знакомство

33

Глава 2

Первое знакомство — калькулятор

Вэтой главе...

Знакомство с системой Mathematica

Арифметические действия над числами

Задачи

Функции

Блокнот и меню

Алгебраические преобразования

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

Анализ

Списки и линейная алгебра

Уравнения

Экстремумы функций

Линейное программирование

Резюме

Задачи

Знакомство с системой Mathematica

После того как запустим систему Mathematica 5, получится примерно то, что изо­ бражено на рис. 2.1. Большое белое окно слева — блокнот. Именно в него вводится информация, и именно в нем отображаются результаты. Окно в середине — заставкаприветствие и справка. Окно справа — панель для ввода математических символов, греческих букв и т.п. После запуска системы Mathematica в блокнот можно вводить информацию.

Если же по каким-либо причинам активным оказалось другое окно, щелкнув в бе­ лом рабочем поле, переключитесь на окно ввода системы Mathematica.

Введите

2+2

и нажмите комбинацию клавиш <Shift+Enter> (т.е. одновременно клавиши <Shift> и

<Enter>).

В окне системы вы увидите следующее (рис. 2.2).

I n [ 1 ] : = 2 + 2

Out[1]= 4

Рис. 2.1. Вот что отображается на экране после запуска системы Mathematica

Возможно, вам пришлось подождать (обычно, не более нескольких секунд). Но не огорчайтесь, это происходила загрузка ядра системы — дальше будет веселей. Напри­ мер, 10! вычисляется практически мгновенно. Для этого нужно набрать

1 0 !

и нажать <Shift+Enter>. В результате получим следующее.

In[2]:= 10!

Out[2]= 3628800

Значение 100! можно вычислить, установив двойным щелчком курсор ввода в

строке

In [2]:= 10!

и добавив еще один 0, в результате чего получим

1 0 0 !

После <Shift+Enter> будет отображено следующее.

In[3]:= 100! Out[3]=

9332621544394415268169923885626670049071596826438162146859296389521759

9993229915608941463976156518286253697920827223758251185210916864000000

000000000000000000

Первое знакомство калькулятор

35

Рис. 2.2. Вот что появляется в окне ввода системы Mathematica после .вы­ числения 2+2

Арифметические действия над числами

Арифметические действия

в системе Mathematica обозначаются как

обычно:

+ (сложение),

(вычитание), *

(умножение), / (деление), А (возведение в

степень).

Впрочем, иногда вместо * достаточно набрать пробел. С делением, правда, есть одна закавыка. Вычислим, например, 10/2.

10/2

5

Получилось! (Здесь и далее я опускаю эти надоедливые in [...]:= и Out [...]=.) Но вот вычисление 22/7 даст

22/7

22/7

Результат, конечно, точный, но несколько тавтологичный. Как же получить деся­ тичное приближение? Для этого достаточно сделать хотя бы одно число веществен­ ным, поставив, например, точку после 22 или 7.

22/7.

3.14286

Есть и другой способ: явно применить функцию N, дающую приближенное чис­ ленное значение аргумента. (Аргументы функций заключаются в квадратные скобки.) Для этого введите

N[22/7]

и в результате получится

3.14286

36

Гпава 2

Функция N позволяет с необходимой точностью вычислять некоторые математиче­ ские константы и использовать их. Например:

N [Pi]

3.14159

Чтобы вычислить число к со 100 значащими цифрами, укажите нужное количество значащих цифр вторым аргументом функции N.

N [Pi/ 100] 3.14159265358979323846264338327950288419716939937510582097494459230781 6406286208998628034825342117068

Вот как, например, можно решить известную классическую задачу: какое число больше, е* или ъе

N [EAPi-PiAE,10]

0.6815349144

Как видите, ё*>ъе Провести соответствующие вычисления (вместе с оценками точности) вручную не так уж и просто, поэтому обычно первокурсники при решении этой задачи используют свойства функций. Конечно же, в системе Mathematica преду­ смотрены и функции.

Функции

В системе Mathematica имеется множество математических функций, их имена вполне естественны, за тем исключением, что имена всех встроенных функций начина­ ются с прописной буквы. Кроме того, не забывайте, что аргументы функций заключаются в квадратные скобки. Ну, и, конечно же, помните о том, что здесь тригонометрические функции называются так, как к этому привыкли американцы: например, вместо при­ вычного для нас tg (тангенса) в системе Mathematica указывается Tan. Ниже приведе­ ны некоторые примеры — выполните сами те из них, которые сочтете интересными.

Ехр[3]-ЕА3

0

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

N [Ехр [3] ,20]'-N[EA 3,20]

0 . х 1 ( Г 19

А вот модуль перехода от натуральных логарифмов к десятичным.

N [Log [10,Е], 100] 0.43429448190325182765112891891660508229439700580366656611445378316586 46492088707747292249493384317483

А ниже вычислены sin 1° и cos 1° (Улугбеку они бы очень пригодились).

N [Sin[Pi/180],100] 0.01745340643728351281941897851631619247225272030713964268361242764059 738420392807004200192679102134691

N [Cos[Pi/180] ,100] 0.99984769515639123915701155881391485169274031058318593965832071451153 91811033372153972993952881103455

Первое знакомство калькулятор

37

Как видим, с тригонометрией все в ажуре! Давайте теперь проведем вычисление с корнями, — дычислим приближенное значение числа т11, столь излюбленного спе­ циалистами по математической логике.

N [2ASqrt[2],100] 2.66514414269022518865029724987313984827421131371465949283597959336492 0446178705954867609180005196417

Конечно, то же самое можно сделать и иначе.

Ы[2л (2а (1/2)),Ю 0]

2.66514414269022518865029724987313984827421131371465949283597959336492

0446178705954867609180005196417

Можно также ввести переменную и написать так:

х=2л (1/2); N [2лх,100] 2.66514414269022518865029724987313984827421131371465949283597959336492 0446178705954867609180005196417

Говоря о корнях, не могу удержаться, чтобы не показать вам вот это:

(-1 )^ (1/2) i

Так что этот калькулятор и с комплексными числами справляется без труда! Но прежде чем переходить к алгебре, полезно хотя бы бегло познакомиться с блокно­ том и меню системы Mathematica.

Блокнот и меню

Чтобы упростить набор и вычисление выражений, рассмотрим возможности ин­ терфейса (оболочки) системы Mathematica. Чтобы сохранить протокол расчетов (блокнот), из меню Файл (File) выберите пункт Сохранить Как (Save As) и запишите блокнот в файл, например в файл myl (желательно в своем каталоге). Чтобы повто­ рить какое-либо вычисление, достаточно двойным щелчком установить курсор встав­ ки в соответствующую строку и нажать <Shift+Enter>. Это же можно сделать иначе: ус­ тановите I-образный курсор на квадратную скобку справа от формулы (курсор при этом изменит свой вид) и щелкните один раз. Скобка “почернеет” Это значит, что вы выделили ячейку, содержащую нужную вам формулу. Теперь выберите в меню системы Mathematica пункт Ядро^Вы числение^Вы числить Ячейки. После этого будут вычислены выделенные ячейки. При желаний выделенные ячейки можно копировать и размножать обычными для систем с графическим интерфейсом методами (с помо­ щью кнопок или меню). То же самое относится не только к ячейкам целиком, но и к их частям. Эти методы помогают записывать алгебраические выражения.

Алгебраические преобразования

Давайте посмотрим, как система Mathematica справляется с раскрытием скобок в степенях. Для этого служит функция Expand.

Expand [(а+Ь+с)л5]

а5 + 5 а4b + 10 а3b2 + 10 а2b3 + 5 а b4 + Ь5 + 5 а4с + 20 а3b с + 30 а2Ь2 с +

20 а Ь3с + 5 Ь4с + 10 а3с2 + 30 а2b с2 + 30 а Ь2с2 + 10 Ь3 с2 + 10 а2 с3 +

20 а Ъ с3+ 10 Ь2с3 + 5 а с4 + 5 b с4 + с5

38

Гпава 2

Упростим предыдущий результат.

Simplify [%]

(а + b + с)^

Разложим на множители алгебраическое выражение аю + Ью Для этого служит функция Factor.

Factor[аЛ10 + Ьл10]

(а2 + Ь2) (а8 - а6Ь2 + а4Ь4 - а2Ь6+ Ь8)

Теперь подставим а = u, b = у в предыдущий результат.

%/.{a->u, b -> V}

(и2 + v2) (и8 - и6v2 + и4v4 - и2v6+ V8)

Заметьте, что полученный на предыдущем шаге результат обозначен символом %, после него следует / и список подстановок {a->u, b -> v}.

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

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

Система Mathematica богата графическими возможностями. Рассмотрим на приме­ рах построение хотя бы некоторых, наиболее часто встречающихся типов графиков.

Построение графиков функций одной переменной

Построение графика одной функции, заданной аналитически

Вот как можно построить график функции синус.

Plot[Sin[x], {х,-2 Pi,2 Pi}]

Первое знакомство калькулятор

39

Построение графиков нескольких функции, заданных аналитически

Вот как можно построить график нескольких функций.

Plot[{Sin[х],Sin[х/2],Sin[2х]}, {х, -2 Pi,2 Pi }]

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

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

ParametricPlot [{Sin[t],Cos[t]},{t,0,2Pi}]

Конечно, масштабы по осям здесь разные, и потому окружность изображена как эллипс.

40

Гпава 2

А вот фигура Лиссажу.

ParametricPlot [{Sin[51],Cos[3t]},{t,0,2Pi}]

И еще одна, на этот раз разомкнутая (хотя концы ее найти не так-то просто!) “фи­ гура Лиссажу”.

ParametricPlot [{Sin[2Л (1/2) t],Cos[3 t]},{t,0,25 Pi}]

IrS/У / \ х / / \ \

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

Построим, например, график поверхности z — sin(;t2}').

Первое знакомство калькулятор

41

А вот параметрически заданный геликоид.

ParametricPlot3D[{u*Sin[t],и*Cos[t], t/3}, { t,0 , 1 2 } , {и,- 1 , 1 } , Ticks->None]

И, наконец, вот еще одно параметрически заданное тело.

42

Гпава 2