на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Реферат: Система Mathematica 4

Функция ListPlot, особенно в ее второй форме (с заданными координатами х и

г/), удобна для вывода на график экспериментальных точек.

11. Трехмерная графика

Трехмерная графика, называемая также ЗD-графикой, представляет в

аксонометрической проекции объемное изображение поверхностей или фигур,

которые описываются либо функциями двух переменных, либо параметрически

заданными координатами объектов. В данном разделе описаны многие способы

построения трехмерных графиков, начиная от простых контурных графиков и

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

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

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

отображения поверхностей на плоскости. Они удобны для выявления всех

экстремумов функций в пределах области графика. Такие графики являются

линиями пересечения поверхности с секущими горизонтальными плоскостями,

расположенными параллельно друг под другом. Они часто используются в

картографии.

Основными функциями и директивами для построения контурных графиков являются

следующие:

ContourPlot[f,{x, xmin, xmax}, {у, ymin, ymax}] — порождает контурный график

f как функции от х и у;

ContourGraphics [array] — представляет контурный график массива array;

ListContourPlot[array] — формирует контурный график из массива величин высот.

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

такого типа.

Для управления возможностями графической функции ContourPlot используются

опции, полный список которых выводит команда Options [ContourGraphics ].

Помимо уже рассмотренных ранее опций используются следующие:

ColorFunction — задает окраску областей между линиями;

Contours — задает число контурных линий;

ContourLines — задает прорисовку явных (explicit) контурных линий;

ContourShading — задает затенение областей между контурными линиями;

ContourSmoothing — задает сглаживание контурных линий;

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

MeshRange — задает области изменения х- и y-координат.

Рисунок 6 показывает построение контурного графика с окраской промежуточных

областей между линиями. Окраска обеспечивается опцией ColorFunction-> Hue.

Опция ContourSmoothing->True задает сглаживание контурных линий.

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Рис. 6. Контурный график поверхности sin(x у) с закраской областей между линиями

равного уровня оттенками серого цвета

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

линий, но оставить закраску областей между линиями. Такой вариант графика более

предпочтителен, если нужно наблюдать качественную картину. Для построения

такого графика надо использовать опцию ContourLine->False (рис. 7).

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Рис. 7. Контурный график без линий равного уровня

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

линиями (PostScript). Он может оказаться предпочтителен, например, если

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

Построение графиков поверхностей — функция Plot 3D

Функция двух переменных z = f(x, у) образует в пространстве некоторую

трехмерную поверхность или фигуру. Для их построения приходится использовать

координатную систему с тремя осями координат: х, у и z. Поскольку экран

дисплея плоский, то на самом деле объемность фигур лишь имитируется —

используется хорошо известный способ наглядного представления трехмерных

фигур с помощью аксонометрической проекции.

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

содержащая линии разреза фигуры по взаимно перпендикулярным плоскостям. В

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

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

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

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

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

графическая функция Plot 3D:

· Plot3D[f, {x, xmin, xmax), {у, ymin, ymax}] — строит

трехмерный график функции f переменных х и у;

· Plot3D[{f, s}, {x, xmin, xmax}, {y, ymin, ymax}]

строит трехмерный график, в котором высоту поверхности определяет параметр f, а

затенение — параметр s.

На рис. 8 показан пример построения поверхности, описываемой функцией двух

переменных cos(x у) при х и у, меняющихся от -3 до 3. Поверхность строится в

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

окраски. Все опции заданы по умолчанию.

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Рис. 8. Пример построения поверхности cos(xy) функцией Plot3D с опциями по

умолчанию

Э тот график будем считать исходным для демонстрации его модификаций,

получаемых путем изменения опций.

Графическая функция ListPlot3D

Часто трехмерная поверхность задается массивом своих высот (аппликат). Для

построения графика в этом случае используется графическая функция ListPlotSD:

ListPlot3D [array] — строит трехмерный график поверхности, представленной

массивом значений высот;

ListPlot3D [array, shades] — строит график так, что каждый элемент

поверхности штрихуется (затеняется) согласно спецификации shades.

Plot Joined — дополнительная опция для ListPlot, указывающая, следует ли

соединять линией точки, нанесенные на график.

Пример применения функции ListPlotSD показан на рис. 9. График построен по

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

описывается функцией cos(xy).

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Реферат: Система Mathematica 4

Рис. 9. Пример применения функции ListPlotSD

12. Методы программирования

Такие мощные системы, как Mathematica, предназначены, в основном, для решения

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

Однако это вовсе не означает, что Mathematica не является языком (или

системой) программирования и не позволяет при необходимости программировать

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

даже пакетов расширений оказывается недостаточно или которые требуют для

реализации своих алгоритмов применения типовых программных средств, присущих

обычным языкам программирования. Все обстоит совсем иначе.

Фактически, основой системы Mathematica является проблемно-ориентированный на

математические расчеты язык программирования сверхвысокого уровня. По своим

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

программирования, такие как Фортран, Бейсик, Паскаль или С.

Важно подчеркнуть, что здесь речь идет о языке программирования системы

Mathematica, а не о языке реализации самой системы. Языком реализации

является универсальный язык программирования C++, показавший свою высокую

эффективность в качестве языка системного программирования.

Как и всякий язык программирования, входной язык системы Mathematica содержит

операторы, функции и управляющие стриктуры. Основные операторы и функции

этого языка и относящиеся к ним опции мы фактически уже рассмотрели. Набор

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

современных языков программирования. Мощь системы Mathematica как средства

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

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

немало таких, которые реализуют сложные и практически полезные математические

преобразования и современные вычислительные методы (как численные, так и

аналитические).

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

них такие операции, как символьное и численное дифференцирование и

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

математических функций и т. д. — словом, реализации именно тех средств, для

создания которых на обычных языках программирования приходится составлять

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

(или модернизированных старых) содержат пакеты расширения (Add-on Packages).

Язык программирования системы Mathematica трудно отнести к какому-либо

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

интерпретатором и не предназначен для создания исполняемых файлов. Впрочем,

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

функции Compile, что полезно при необходимости увеличения скорости счета.

Это язык вобрал в себя лучшие средства ряда поколений языков

программирования, таких как Бейсик, Фортран, Паскаль и С. Благодаря этому он

позволяет легко реализовывать все известные типы (концепции)

программирования: функциональное, структурное, объектно-ориентированное,

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

функций, как факториал, в Mathematica можно запрограммировать в виде функции

пользователя целым рядом способов:

f[n_] =n!

f[n_] =Gamma[n-l]

f [n_] =n*f [n-1] ;f [0]=l;f [1]=1;

f[n_] =Product[i/i,n]

f [n_] =Module[t=l,Do[t=t*i,i,n] ;t]

f [n_] =Module [ { t=l } , For [ i=l , i<=n , i++ , t*=i ] ; t]

f[n_] =Fold [Times,1, Range [n] ]

Все их можно проверить с помощью следующего теста:

{f[0],f[1],f[5],f[10]}

{1, 1, 120, 3628800}

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

применении полных форм выражений, представленных функциями. И вообще,

функциям в системе Mathematica принадлежит решающая роль. Таким образом,

Mathematica. фактически, изначально реализует функциональный метод

программирования — один из самых эффективных и надежных. А обилие логических

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

программирования. Множество операций преобразования выражений и функций

позволяют осуществлять программирование на основе правил преобразования.

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

отдельные модули (блоки) и хранить эти модули в тексте документа или на диске

Возможно создание полностью самостоятельных блоков — именованных процедур и

функций с локальными переменными. Все это наряду с типовыми управляющими

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

Столь же естественно язык системы реализует объектно-ориентированное

программирование. Оно базируется прежде всего на обобщенном понятии объекта и

возможности создания множества связанных друг с другом объектов. В системе

Mathematica каждая ячейка документа является объектом и порождается другими,

предшествующими объектами. При этом содержанием объектов могут быть

математические выражения, входные и выходные данные, графики и рисунки, звуки

и т. д.

С понятием объекта тесно связаны три основных свойства, перечисленные ниже:

инкапсуляция — объединение в одном объекте как данных, так и методов их

обработки;

наследование — означает, что каждый объект, производный от других объектов,

наследует их свойства;

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

будет обрабатываться каждым объектом в соответствии с его индивидуальными

особенностями.

Приведенный ниже пример объектно-ориентированного программирования дает три

определения, ассоциированные с объектом h:

h/ : h [x_] +h [y_] : =hplus [х , у]

h/:p[h[x_],x]:=hp[x]

h/:f_[h[x_]] :=fh[f,x]

В принципе, язык программирования системы Mathematica специально создан для

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

других — например, рекуррентного программирования, при котором очередной шаг

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

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

Возможно также создание рекурсивных функций (с обращением к самим себе) и,

соответственно, использование рекурсивного программирования. Оно, кстати,

играет большую роль в осуществлении символьных преобразований.

Средства языка Mathematica позволяют осуществить и визуально-ориентированное

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

программных модулей путем визуального выбора интуитивно понятного объекта —

чаще всего путем щелчка на кнопке. Mathematica позволяет создавать палитры и

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

новые программные объекты. Однако визуально-ориентированное программирование

не является основным. В основном оно ориентировано на создание палитр

пользователя с нужными ему функциями.

Поскольку алфавит языка программирования системы и набор операторов и функций

уже были рассмотрены ранее, в этой главе нам остается рассмотреть лишь

специфические средства языка и его управляющие структуры.

III. Заключение

Система Mathematica 4 относится к программным продуктам, которым крайне

трудно найти достойного конкурента. Пожалуй, лишь система компьютерной

ма­тематики Maple V R5 способна всерьез претендовать на эту роль. Эти две

систе­мы напоминают двух спортсменов, заметно оторвавшихся от своих

соперников'и попеременно обгоняющих друг друга. Каждая из систем имеет свое

лицо и мо­жет решать самые серьезные математические и научно-технические

задачи.

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

постоянно совершенствующиеся возможности символьной (аналитической)

ма­тематики — это и есть лицо новейшей системы Mathematica 4. Да и одежка -

пользовательский интерфейс под стать «Мисс Мира» — Mathematica.

Оторвавшись от эпитетов, можно сказать, что Mathematica 4 (как и ее

предшест­венница Mathematica 3, отставшая по скорости вычислений)

действительно пред­ставляет собой самую современную систему искусственного

интеллекта, ориен­тированную на выполнение разнообразных математических

вычислений — от простейших до самых сложных, достойных ума и пера

математиков-аналитиков.

Одновременно эта система является уникальным по своей полноте «живым»

спра­вочником по различным математическим понятиям, алгоритмам и функциям.

Она обеспечивает высочайшую степень визуализации вычислений, начиная от

пред­ставления исходных данных и кончая выводом промежуточных и конечных

ре­зультатов вычислений. Таким образом, главным для системы становится

предос­тавление пользователю самых серьезных и, порой, новых знаний в столь

почетной и древней области человеческого интеллекта, как математика.

Более миллиона пользователей системы Mathematica (всех версий) и сотни

опуб­ликованных книг о ней (в том числе множество вышедших уже в 1999 г.,

лишь в середине которого четвертая версия системы появилась) говорят сами за

себя. Mathematica 4 — это продукт широкого потребления, с которым можно

достой­но войти в третье тысячелетие новой эры в истории Человечества. Будучи

по своей сути профессиональными инструментами для математиков, системы

Mathe­matica 3/4 сделали решительный шаг в сторону массового пользователя. Не

слу­чайно на Западе эти системы используются не только в крупнейших научных

центрах и ведущих университетах, но и в обычных вузах и даже школах.

Приме­чательно, что сейчас Mathematica все чаще применяется представителями

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

IV. Список использованной литературы

1. Дьяконов В.П. Mathematica 4: учебный курс – СПб: Питер, 2001.

2. Акритас А. Основы компьютерной алгебры/ Пер. с англ. – М.:

Мир, 1994.

3. Капустина Т.В. Компьютерная система Mathematica 3.0 для пользователей

– М.: Солон-Р, 1999.

4. Дьяконов В.П. Mathematica 3/4 с пакетами расширений – М.:

Нолидж, 2000.

Страницы: 1, 2, 3, 4, 5



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.