Пакеты расширения для системы "Wolfram Mathematica"
Представление полей на плоскости PlotField. Функции PlotField, позволяющие строить стрелками графики полей. Примеры построения графиков: поля с применением нескольких опций, векторного поля, градиента поля и др. Примеры выполнения операций и функций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | творческая работа |
Язык | русский |
Дата добавления | 29.03.2010 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
ХНУ имени В.Н. Каразина
Творческая работа на тему
Пакеты расширения для системы «Wolfram Mathematica»:
PlotField
PlotField3D
VectorAnalysis
Представление полей на плоскости -- PlotField
В подпакете PlotField имеются функции, позволяющие строить стрелками графики полей:
· PlotVectorField[ {fx, f у}, {x, xmin, xmax), {y, ymin, ymax} ] --строит плоскость из векторов (стрелок), ограниченную пределами изменения х и у;
· PlotGradientField[f,{x,xmin,xmax},{у,ymin,ymax}] -- строит плоскость из векторов (стрелок) градиента функции f, ограниченную пределами изменения х и у;
· PlotHamiltonianField[f,{x,xmin,xmax},{у,ymin,ymax}] -- строит плоскость из векторов (стрелок) гамильтониана функции f, ограниченную пределами изменения х и у;
· PlotPolyaField[f, {х,xmin,xmax}, {у, ymin, ymax} ] -- представляет график комплексной функции f(x, у).
Рисунок 14.65 показывает применение функции PlotVectorField для построения векторного поля согласно параметрически заданной на плоскости функции.
Риc. 14.65. График векторного поля на плоскости
Еще один пример (рис. 14.66), иллюстрирует построение градиента поля с помощью функции PlotGradientField. Применение функции PlotHamiltonianField демонстрирует рис. 14.67.
Указанные функции имеют множество опций. Отметим основные из них (в качестве значений приведены значения по умолчанию):
· ScaleFactor->Automatic -- устанавливает размер векторов (стрелок);
· ScaleFunction->None -- устанавливает функцию, вычисляющую размер стрелок;
· MaxArrowLenght->None -- устанавливает ограничение длины стрелок;
· ColorFunction->None -- задает функцию цвета;
· PlotPoints->15 -- задает число точек по координатам для построения стрелок.
Рис. 14.66 График градиента поля
Риc. 14.67. Пример применения функции PlotHamiltonianField
Пример построения сложного графика с применением шестнадцати узловых точек по каждому направлению и использованием опции ScaleFunction показан на рис. 14.68.
Работу функции PlotPolyaField поясняет рис. 14.69. Обратите внимание на то, что функция в данном случае комплексная.
Рис. 14.68. Пример графика поля с применением нескольких опций
Рис. 14.69. Пример графика поля для комплексной функции
Применение опций позволяет строить самые разнообразные графики различных полей -- тепловых, гравитационных, электрических и др.
В подпакете PlotField есть еще одна функция, представляемая в двух формах:
· ListPlotVectorField [ {{vect 11, vect12,...},{vect21, vect22,...},...} ] -- строит график векторного поля прямоугольного массива векторов vect xy ;
· ListPlotVectorField [{{pt1, vect1,...}, (pt2,vect2,...},...}] --строит график векторного поля по списку векторов vect xy , расположенных в точках pti.
Применение этой функции поясняет график, представленный на рис. 14.70.
Рис. 14.70. Пример построения графика векторного поля с помощью функции ListPlotVectorField
Приведенных примеров вполне достаточно, чтобы судить о возможностях подпа-кета PlotField. В справочной базе данных можно найти другие примеры построения графиков векторных полей.
Представление полей в пространстве -- PlotField3D
Для представления векторных полей в пространстве служат функции подпакета PlotField3D:
· PlotVectorField3D[{fx,fy,fz},{x,xmin,xmax},{y,ymin, ymax}, {z, zmin, zmax} ] -- строит график векторного поля параметрически заданной трехмерной фигуры;
· PlotGradientField3D[{fx,fy,fz},{x,xmin,xmax},{y,ymin,ymax}, {z, zmin, zmax} ] -- строит график градиента векторного поля параметрически заданной трехмерной фигуры.
Эти функции подобны описанным в предшествующем разделе, но используются для построения векторных полей не на плоскости, а в пространстве. Рисунок 14.71 показывает пример такого построения.
Как видно из рис. 14.71, векторное поле строится отрезками прямых, а не стрелками. Последнее связано с тем, что по умолчанию задана опция VectorHeads-> False. Изменив ее на VectorHeads->True, можно получить представление векторного поля направленными стрелками. Кроме того, используя опцию Plot-Points->n, можно получить заданное число стрелок п по всем направлениям графика. Все это учтено на графике, представленном на рис. 14.72.
Рис. 14.71. Пример построения графика векторного поля в пространстве отрезками прямых
Рис. 14.72. Пример построения графика градиента поля направленными стрелками
В подпакете PlotFieldSD имеется еще одна функция:
· ListPlotVectorField3D[{ {ptl, vectl}, {pt2, vect2 },...} ] -строит график векторного поля в пространстве по данным векторов vecti, расположенных в точках pti.
Рисунок 14.73 поясняет применение этой функции.
Рис. 14.73. Пример построения графика векторного поля функцией ListPlotVectorField3D
Нетрудно заметить, что при большом числе векторов в пространстве графики этого типа теряют наглядность. Рекомендуется тщательно отлаживать их, используя весь набор опций (как его получить, описывалось неоднократно).
Векторный анализ --VectorAnalysis
Подпакет VectorAnalysis содержит множество функций, используемых при выполнении векторного анализа. Здесь надо иметь в виду, что речь идет не о векторах как представителях одномерных массивов, которые рассматривались ранее. В данном случае вектор -- это направленный отрезок прямой в пространстве, заданном той или иной системой координат.
Системы координат и их преобразования
Заметная часть функций подпакета VectorAnalysis относится к заданию и преобразованию координат:
· Coordinates [ ] -- возвращает имена переменных текущей системы координат;
· Coordinates [coordsys] -- возвращает имена переменных системы координат coordsys;
· SetCoordinates [coordsys] -- устанавливает систему координат coordsys с текущими переменными;
· Coordinates [coordsys, {vars}] -- устанавливает систему координат coordsys с переменными, заданными списком {vars }.
Ниже даны названия систем координат и соответствующие им представления.
Наименование |
Представление |
|
Прямоугольные |
Cartesian [х, у, z] |
|
Цилиндрические |
Cylindrical [r, theta, z] |
|
Сферические |
Spherical [r, theta, phi] |
|
Параболические цилиндрические |
ParabolicCylindrical [u, v, z] |
|
Параболические |
Paraboloidal [u, v, phi] |
|
Эллиптические цилиндрические |
EllipticCylindrical [u, v, z, a] |
|
Вытянутые сфероидальные |
ProlateSpheroidal [xi, eta, phi, a] |
|
Сплющенные сфероидальные |
OblateSpheroidal [xi, eta, phi, a] |
|
Биполярные |
Bipolar[u, v, z, a] |
|
Бисферические |
Bispherical [u, v, phi, a] |
|
Тороидальные |
Toroidal [u, v, phi, a] |
|
Конические |
Conical [lambda, mu, nu, a, b] |
|
Конфокальные эллипсоидальные |
ConfocalEllipsoidal [lambda, rnu, nu, a, b, c] |
|
Конфокальные параболические |
ConfocalParaboloidal [lambda, mu, nu, a, bj |
Например, параболическую систему координат можно задать следующим образом:
SetCoordinates[Paraboloidal[x, у, z] ]
Paraboloidal [x, у, z]
{CoordinateSystem, Coordinates[]}
{Paraboloidal, {x, y, z}}
Ряд функций служит для контроля и установки параметров систем координат:
· CoordinateRanges [ ] -- возвращает пределы изменения переменных текущей координатной системы;
· Parameters [ ] -- возвращает параметры текущей координатной системы;
· ParametersRanges [ ] -- возвращает пределы изменения параметров текущей координатной системы;
· CoordinateRanges [coordsys] -- возвращает пределы изменения переменных координатной системы coordsys;
· Parameters [coordsys] -- возвращает параметры координатной системы coordsys;
· ParametersRanges [coordsys] -- возвращает пределы изменения параметров координатной системы coordsys;
· SetCoordinates [coordsys, {vars,param} ] -- устанавливает параметры текущей координатной системы как параметры coordsys с переменными vars и параметрами param.
Ниже представлены примеры применения этих функций:
CoordinateRanges[]
{0<Х<бесконечности,0<Y<бесконечность,-л<Z<=л}
Parameters[]
{}
ParameterRanges[ ]
Coordinates[Conical], CoordinateRanges[Conical]
{{Llanibda, Мmu, Nnu}, {-бесконечность< Llambda< бесконечность, l< Mmu2 < 4, Nnu2< 1}}
Parameters[Bipolar],ParameterRanges[Bipolar]
{{1}, 0< #1<бесконечность}
Для преобразования координат служат следующие функции:
· CoordinatesToCartesian [pt] -- преобразование текущих координат в декартовы;
· CoordinatesToCartesian [pt, coordsys] -- преобразование координат coordsys в декартовы;
· CoordinatesFromCartesian [pt] -- преобразование из декартовых координат в текущие;
· CoordinatesFromCartesian [pt, coordsys] -- преобразование из декартовых координат в координаты coordsys.
Эти примеры демонстрируют преобразования координат:
CoordinatesToCartesian[{I, Pi/3, Pi/3}, Spherical]
CoordinatesToCartesian [u, v, phi}, Bipolar]
CoordinatesFromCartesian [ {x, y, z} , Bipolar]
{-2Im[ArcCoth[x+ Iy]] , 2Re[ArcCoth[x+ Iy] ] , z}
Функции векторного анализа
Помимо функций для задания и преобразования систем координат подпакет Vector An a lysis содержит ряд функций собственно векторного анализа:
· DotProduct [vl, v2] -- возвращает скалярное произведение векторов vl и v2, заданных в текущей системе координат;
· CrossProduct [vl,v2] -- возвращает векторное произведение векторов vl и v2, заданных в текущей системе координат;
· ScalarTripleProduct [vl, v2, v3 ] -- возвращает тройное скалярное произведение для векторов vl, v2 и v3, заданных в текущей системе координат;
· DotProduct [vl, vl, coordsys ] -- возвращает скалярное произведение векторов vl и v2, заданных в системе координат coordsys;
· CrossProduct [vl, v2, coordsys] -- возвращает векторное произведение векторов vl и v2, заданных в системе координат coordsys.
Примеры выполнения этих операций представлены ниже:
SetCoordinates[ParabolicCylindrical[ ]]
ParabolicCylindrical[Uu, W, Zz]
DotProduct[{1.2, 1.1, 0}, {5.4, -2, 1.2}]
-12.8093
CrossProduct[{1.2, 1.1, 0}, {5.4, -2, 1.2}]
{-1.78157, 0.0774597, -17.8476}
ScalarTripleProduct[{1, 0, 1}, {1, 1, 0}, {0, 1, 1}, Cartesian]
2
Для вычисления производной дуги служат функции:
· ArcLengthFactor [ { fx, f у, f z}, t] -- дает дифференциал длины дуги, заданной параметрически с параметром t в текущей системе координат;
· ArcLengthFactor [ {fx, f у, fz}, t, coordsys] -- дает дифференциал длины дуги, заданной параметрически с параметром t в системе координат coordsys
Примеры вычисления дифференциалов и длин дуг с помощью этих функций:
param = {Cos[t], Sin[t], t}
{Cos[t], Sin[t], t}
ArcLengthFactor[ param, t, Cartesian] //Simplify
корень из 2
f[x_, y_, z_] := x^2 y^2 z
Integrate[ f[param] ArcLengthFactor[
param, t, Cartesian], {t, 0, 2 Pi}] // Simplify
Ряд функций служит для создания матрицы Якоби (матрицы частных производных) и вычисления относящихся к ней понятий:
· JacobianMatrix [] -- возвращает матрицу Якоби, определенную в текущих координатах;
· JacobianMatrix [pt] -- возвращает матрицу Якоби в точке pt и в текущих координатах;
· JacobianMatrix [coordsys] -- возвращает матрицу Якоби, определеннук в системе координат coordsys;
· JacobianMatrix [pt, coordsys] -- возвращает матрицу Якоби в точке pt, определенную в системе координат coordsys;
· JacobianDeterminant [], JacobianDeterminant [pt] и т. д. -- вычисление детерминанта матрицы Якоби при указанных выше определениях;
· ScaleFactor [ ], ScaleFactor [pt] и т. д. -- вычисление масштабного фактора при указанных выше определениях.
Применение этих функций поясняют следующие примеры:
JacobianMatrix[Cartesian[x, у, z]]
{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
JacobianMatrix[Spherical[r, t, p] ]
{{Cos[p] Sin[t] , rCos[p] Cos[t] ,-rSin[p] Sin[t]},
{Sin[p] Sin[t] , rCos[t] Sin[p] , rCos[p] Sin[t]},
{Cos[t] , -rSin[t], 0}}
JacobianDeterminant[Spherical[r, t, p] ]
r^2Sin[t]
Integrate[r^2 JacobianDeterminant[ Spherical[r, theta, phi]],
{r, 0, 2}, {theta, 0, Pi}, {phi, -Pi, Pi}]
128n/5
Следующие функции определяют ряд характеристик векторного поля:
· Div[f] -- возвращает дивергенцию векторного поля f в текущей системе координат;
· Curl [f] -- возвращает вихрь (ротор) векторного поля f в текущей системе координат;
· Grad[f] -- возвращает градиент векторного поля f в текущей системе координат;
· Laplasian [f] -- возвращает лапласиан векторного поля f в текущей системе координат;
· Вiharmonic [f] -- возвращает лапласиан лапласиана векторного поля f в текущей системе координат;
· Div [f, coordsys], Curl [f, coordsys] и т. д. -- указанные выше функции в системе координат coordsys.
Приведем примеры использования этих функций:
Laplacian[x*y^2*z^3,ProlateSpheroidal[х, у, z]]
(Csc[y] Csch[x] (y2z3Cosh[x] Sin [у] +
2xyz3Cos[y] Sirih[x] +2xz3Sin[y] Sinh[x] +
6xy2zCsc[y] Csch[x] (Sin[y]2+ Sinh[x]2))) /
(Sin[y]2+Sinh[x]2)
Grad[x^2 y^3 z^4,ProlateSpheroidal[x, у, z]]
Подобные документы
Решение системы дифференциальных уравнений, создание функций и обработка экспериментальных данных с помощью языка программирования Mathematica. Сравнение между использованием циклических операций в системе Mathematica и в математическом пакете Maple.
отчет по практике [2,1 M], добавлен 09.12.2013Характеристика и описание массива структур из 3-х элементов. Блок-схемы главной функции main и текст программы на языке Си. Построение графика изменения напряженности поля заряженной частицы. Таблица символических имен, работоспособность программы.
курсовая работа [365,8 K], добавлен 02.02.2010- Многомерные нестационарные задачи теплопроводности. Примеры реализации разностного решения в среде Х
Требования к программному проекту расчета температурного поля плоской прямоугольной пластины, стадии и этапы его разработки. Аппроксимация и ее порядок, сущность методов переменных направлений и дробных шагов. Условия выполнения и структура программы.
курсовая работа [3,8 M], добавлен 04.06.2013 Графики вещественнозначных функций вещественного переменного. Построение двумерных графиков. Пример построения графика синусоиды. Пример использования функции subplot. Оформление двумерных графиков в системе MatLab. Основные функции оформления графиков.
курсовая работа [826,3 K], добавлен 30.04.2019Общая характеристика программы "Mathematica": интерфейс, численные методы, графика и звук, программирование и стандартные дополнения. Основные способы построения графических функций. Составление календарно-тематического плана по информатике для 10 класса.
дипломная работа [5,4 M], добавлен 01.04.2012Поля редактирования. Каркасное приложение для Win32. Определение класса окна и регистрация его в системе. Считывание значения из поля редактирования. Цикл обработки сообщения. Числовой формат. Схема алгоритма. Вывод результата работы программы на экран.
практическая работа [290,9 K], добавлен 11.10.2008Разработка программы для отображения текущих значений полей файлового и необязательного заголовков и предоставление возможности изменения значений. Реализация файлового заголовка COFF для Windows поля и каталоги данных (адреса и размеры таблиц).
курсовая работа [18,9 K], добавлен 23.06.2011Понятие базы данных в Microsoft Access, описание таблицы как объекта. Назначение запросов, форм, отчетов и страниц. Макросы и модули в СУБД. Порядок создания базы данных, ввод описания поля. Свойства полей таблиц. Построение реляционной модели данных.
презентация [389,6 K], добавлен 18.01.2014Создание таблиц базы данных в режиме конструктора. Наименование и структура таблиц базы данных "Библиотека". Применение поля подстановок и создание фиксированного списка значений для полей. Схема связи между таблицами. Формирование и выполнение запроса.
контрольная работа [1,2 M], добавлен 24.07.2009Создание основных и вспомогательных таблиц в режиме конструктора. Использование поля со списком для ссылок на объекты. Установление связей между таблицами и контроля ссылочной целостности. Параметрические запросы. Ввод параметров для формирования отчетов.
контрольная работа [1,1 M], добавлен 27.02.2015