Перейти к содержимому

Как построить график по точкам mathcad

  • автор:

3D по точкам

Кубический сплайн по 3 точкам и интерполяция синус кардинала по 3 точкам
Ребят, помогите, не могу представить в Matlab интерполяцию кубическими сплайнами по 3 точкам и.

График по точкам
Мне часто приходится строить графики на координатной плоскости. Сразу два на одной один всегда.

Поверхность по 4 точкам
Здравствуйте, Пытаюсь выпрямить поверхность, заданную матрицей 8192х3072 (трехмерный скан с.

График по точкам
Здравствуйте. Извиняюсь, если тема уже поднималась. Задача такая — нарисовать график в WPF, потом.

Сообщение от igor myakota

Копался) Если бы нашел, не спрашивал бы (( Видно что-то не увидел.

Вложения

вв.rar (33.6 Кб, 38 просмотров)

Сообщение от vikkor

окружность по 3м точкам?
как расчитать окружность имея 3 точки на ней с известными координатами x/y/z

График по точкам
Здравствуйте! Допустим, у меня есть два массива по 100 элементов. Как построить график по этим.

Окружность по 3-ём точкам
Здравствуйте! Помогите пожалуйста с заданием! Определить радиус и центр окружности минимального.

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

график по точкам
Требуется построить график по точкам. Массив координат точек хранится в файле в виде: для файла.

График по точкам
Здравствуйте. Помогите построить график функции по точкам новичку: program kursovik; uses .

Вопрос 49. MathCad. Построение графика функций

2) Вводим функцию, график которой собираемся строить. Пусть в нашем случае это будет функция f1(x) = sin(x). Обращаю ваше внимание, что вместо знака » = » в маткаде для операции присваивания используется » := «. Для того, чтобы ввести этот знак в маткаде достаточно при вводе формулы нажать клавишу » : «. Также знак присваивания можно найти в панели инструментов.

3) Открываем панель «Graph» (меню «View -> Toolbar -> Graph»).

4) В появившейся панели «Graph» нажимаем «X-Y Plot» (построение графика в координатах X-Y).

5) После нажатия на кнопочку, показанную выше, у вас появится следующее:

6) См. рисунок ниже. Элементы, выделенные красным, — это названия осей, выделенные синим — диапазоны осей (минимальное и максимальное значение). Для того чтобы изменить их (на рисунке они ещё не заданы) необходимо щёлкнуть на них (прямо по чёрному прямоугольнику, маркеру) и ввести необходимое значение.

7) Нам необходимо заполнить эти поля следующим образом:

В принципе уже после заполнения полей, которые содержат названия осей (а точнее привязку оси к переменной) масштаб осей выставится автоматически. Однако, это можно легко поправить (щёлкнув сначала по оси, а потом по числу, находящимуся на месте, где изначально были чёрные прямоугольники и изменив значение на требуемое).

График можно растягивать и сжимать. Щёлкнув на графике, вы увидите, что по правой и нижней границам появились чёрные прямоугольники. За них и надо тащить.

Для построения обратиться к пункту ВСТАВКА команда ГРАФИК (см. рисунок)

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

Основные операции при построении графика. При построении графика необходимо выполнить следующие шаги:

· щелкнуть мышью в том месте, где нужно создать график;

· обратиться к пункту Вставка, командам График – Х-У Зависимость. В рабочем документе создается пустой график с шестью полями ввода;

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

Пример. В рабочем документе постройте график функции f(x)=x2+ x для x меняющимся от -10 до 10 с шагом 0.1.

Форматирование и редактирование графиков

Для изменения формата осей, способа их оцифровки, цвета графиков необходимо:

· щелкнуть мышью на графике, чтобы он заключился в синюю рамку;

· обратиться к появившемуся пункту X-Y-Plot, команде Format;

· используя закладки X-Y-оси, Графики, надписи выполнить форматирование

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

Графическое представление вектора

Графики в полярной системе координат

График параметрической функции

Графики функций двух переменных (поверхностей)

Для создания трехмерного графика (графика функции двух переменных) необходимо щелкнуть на одной из следующих кнопок палитры Графика с изображением требуемого типа графика. В документе появится шаблон графика с тремя осями и пустым полем. В это поле вводится либо имя массива, либо имя функции двух переменных.

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

Во втором случае предварительно надо описать функцию от двух переменных.

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

f(x,y) = Sin(x2 + y 2) для x [-1.5, 1.5] , y [-1.5, 1.5]

Окно форматирования трехмерных графиков вызывается аналогично и имеет ряд вкладок:

· общие – установка общих параметров форматирования;

· ось – установка параметров форматирования координатных осей;

· вид – установка вида графика;

· освещение – задание условий освещения и выбор схемы освещения;

· название – задание титульных надписей и их параметров;

· основание – установка параметров форматирования граней;

· особый – задание специальных эффектов форматирования;

· дополнительно – установка дополнительных параметров;

· данные QuickPlot – параметры быстрого построения графика.

Автоматическое формирование матрицы

Графики векторных полей

Для отрисовки векторного поля ( в каждой точке такого поля задается не скалярная величина, а вектор с двумя проекциями ) необходимо :

· вычислить две матрицы ( первая содержит проекции вектора на ось Х, вторая на ось У ) или сформировать комплексную матрицу;

· обратиться к пункту меню Graphics, команде Create Vector Field Plot ;

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

Инструменты графики

MathCAD предоставляет широкие возможности для построения графиков. Графические построения являются универсальными и легкими в использовании. Программа позволяет строить графики на плоскости и в трехмерном пространстве. Можно использовать, декартовы и полярные координаты на плоскости, сферическую и цилиндрическую систему координат в пространстве.

Панель Математика содержит панель инструментов графики. Для построения графиков используются шаблоны. Большинство параметров графического процессора, необходимых для построения графиков, по умолчанию задается автоматически. Поэтому для начального построения графика того или иного вида достаточно задать тип графика. На панели Graph (Графика) или в меню Insert/ Graph (Вставка/Графика) содержится список из семи основных типов графиков.

 Панель Графика

Рис. 3.1. Панель Графика

1. Декартов график [@] —шаблон двухмерного графика;

2. Полярный график [Ctrl+ 7] —шаблон графика в полярной системе координат;

3. График поверхности [Ctrl+ 2] — шаблон для построения трехмерного графика;

4. Карта линий уровня [Ctrl+ 5] —шаблон для контурного графика трехмерной поверхности;

5. 3D точечный график –шаблон для графика в виде точек в трехмерном пространстве;

6. 3D столбиковая гистограмма –шаблон для изображения в виде совокупности столбиков в трехмерном пространстве;

7. Векторное поле— создать шаблон для графика векторного поля на плоскости.

Для вывода шаблона двухмерной графики в декартовой системе координат служит кнопка декартов график на панели Graph. Она выводит в текущее положение курсора шаблон графиков в декартовых координатах ( Рис.3.2 ). Незаполненный шаблон графика — пустой прямоугольник с шаблонами данных в виде темных маленьких прямоугольников, расположенных около осей абсцисс и ординат будущего графика.

 Шаблон графика в декартовых координатах

Рис. 3.2. Шаблон графика в декартовых координатах

В средние шаблоны данных надо поместить имя функции F(x) оси абсцисс x. Если строятся графики нескольких функций в одном шаблоне, то для их разделения следует использовать запятые. Крайние шаблоны данных служат для указания предельных значений абсцисс и ординат, т. е. они задают масштабы графика. Если оставить эти шаблоны незаполненными, то масштабы по осям графика будут устанавливаться автоматически. Масштабы, могут оказаться неудобными для представления целиком всего графика в максимальном размере. Рекомендуется всегда вначале использовать автоматическое масштабирование, а затем изменять масштабы на более подходящие. Для построения графика достаточно вывести курсор за пределы графического объекта.

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

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

Форматирование графика

Параметры изображения (цвет и толщина линий, координатная сетка, разметка осей, надписи на графиках и др.) можно изменить, вызвав команду меню Format/Graph/X-Y Plot (Формат/График/декартов график) или щелкнув дважды по полю графика. Появится окно Formatting Currently Selected X-Y Plot (Форматирование выбранного графика), в котором устанавливаются настройки в соответствующих вкладках ( Рис.3.7 ).

 Окно форматирования декартова графика

Рис. 3.7. Окно форматирования декартова графика

· Вкладка X-Y оси устанавливает для осей X и Y : тип щкалы: логарифмическая Log scale, цифровая Numbered), линии сетки (Grid Lines), Сетку автоматическую (Auto Grid) или режим задания количества меток (Number of Grid). Внизу устанавливается стиль вида осей (Axes Style)/

· Вкладка Traces устанавливает условные обозначения различных кривых графика.

· Вкладка Надпись (Labels) расположение надписей.

Установка границ на осях координат

Установка границ на осях координат

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

· Автоматически, с включенным режимом Авто масштаб (Autoscale)(см. закладка » X-Y Оси » ).

· Автоматически, с выключенным режимом Авто масштаб.

· Вручную, вводя границы непосредственно на графике.

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

При выключенном режиме Авто масштаб MathCAD устанавливает границы на осях точно равными пределам данных.

Добавление горизонтальных и вертикальных линий

Добавление горизонтальных и вертикальных линий

Чтобы добавить горизонтальную или вертикальную линию к графику:

· вызвать окно форматирования графика в декартовых координатах,

· в диалоговом окне Форматирование- закладка » X-Y Оси » ,

· щёлкнуть » Нанести риски » (для X-оси, или Y-оси). MathCAD показывает два дополнительных пустых поля на каждой оси, для которой включена опция » Нанести риски «,

· впечатать значение, для которого нужно провести линию,

· чтобы удалить линию, удалить это число или щёлкните на поле » Нанести риски «

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

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

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

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

Построить график функции y=x\sin<(2x)^2>» width=»119″ height=»27″ />по 15 точкам, x меняется от 0 до 1,5 с шагом = 0,1:</p>
<p> <img decoding=, x_i:=\frac<i><10>» width=»72″ height=»30″ />, <img decoding=

Рис. 3.10. Листинг построения графика примера 3.4

· Ввести номер точки i как ранжированную переменную.

· Ввести xi как с индексную переменную. Ввести функцию с индексом y_i. Построить таблицы значений аргумента и функции в виде вектор-столбцов.:

· Построить график, подставляя индексные переменные ( Рис.3.10 ).

Можно ввести x и y, как векторы. В этом случае на графике в соответствующих ячейках указываются только имена переменных ( Рис.3.11 ).

, x_i:=\frac<i><10>» width=»72″ height=»30″ />, <img decoding=

Y= \left(\begin<array> <c>y_0\\ y_4\\ y_6\\ y_10\\ y_12\\ y_14 \end<array>\right) » width=»99″ height=»135″ /></p>
<p> <img loading=

Рис. 3.11. Листинг построения графика примера 3.4. На графике введены точки как значения векторов

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

В ряде случаев для задания функций используются параметрически заданные уравнения. Например, пусть функции x=x(t), y=y(t), непрерывны при t из (a, b) и устанавливают зависимость (x,y) точки плоскости от значения параметра t. Таким образом, задается на плоскости кривая в параметрической форме. Х=f1(t) и у=f2(t).

Построить график функции, заданной в виде:

x(h)=h^3 y(h)=h^2при h\ge0

В случае построения графика параметрически заданной кривой в шаблоне функции необходимо указать y(h), вместо независимой переменной x под осью абсцисс необходимо соответственно задать x(h).

x(h):=h^3, y(h):=h^2, h\ge0

 Листинг построения графика примера 3.5

Рис. 3.12. Листинг построения графика примера 3.5

Графики в полярных координатах

В MathCAD полярные графики рисуются с использованием стандартных преобразований x = r cos(\theta)и y = r sin(\theta). Предполагается, что r и \thetaмогут принимать и положительные, и отрицательные значения. Типичный полярный график показывает зависимость выражения для радиуса от угла.

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

Полярный график строится с использованием шаблона полярного графика на панели Графика. Выражение для функции и угла вводятся в соответствующие шаблоны графика. Можно построить несколько графиков на одном и том же чертеже. Все выражения должны использовать одну и ту же переменную. Угол вводится в радианах (по умолчанию) или в градусах (указываются единицы – deg).

· Определить r(\theta) как функцию \theta,

· отобразить график r(\theta) в полярных координатах ( Рис.3.13 ).

r(\theta):=1+\cos<(\theta)>» width=»170″ height=»26″ /></p>
<p> <img loading=

Рис. 3.13. График в полярных координатах. В шаблонах для радиуса: r: (0;2)

Форматирование графика

Используется команда меню Format/Graph/Plar Plot (Формат/Графика/Полярный график) или двойной щелчок на графике. Окно форматирования такое же, как и для декартовых графиков.

Установка границ на осях координат

По умолчанию устанавливаются верхние и нижние границы на радиальной оси. Для линейного масштаба верхняя граница — максимальное значение радиуса, нижняя граница — ноль. Чтобы вручную установить максимальное значение на радиальной оси, щёлкнуть на числе в верхнем поле ввода и впечатать новое число.

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

Построить график функций r1=2\sin<(\phi)>» width=»108″ height=»26″ />, <img decoding=Пределы изменения радиуса от 0 до 4 .

· функция задана как индексная переменная. Угол задан в градусах, от 0 до 90. Пределы изменения радиуса от 1 до 2 . Введена сетка 2х8.

a) r1(\phi):=2\sin<(\phi)>» width=»160″ height=»26″ /></p>
<p><img decoding=

Рис. 3.14. Листинг построения графиков примера 3.12

b) r1(\phi):=2\sin<(\phi)>» width=»160″ height=»26″ /></p>
<p><img decoding=

Рис. 3.15. Листинг построения графиков примера 3.12

c)

\phi_i:=i\cdot deg

r1_i:=2\sin<(\phi_1)>» width=»144″ height=»26″ /></p>
<p><img decoding=

Рис. 3.16. Листинг построения графиков примера 3.16

Трехмерные графики

При задании функции двух переменных, любой паре чисел (x,y) из некоторого множества D упорядоченных пар чисел поставлено в соответствие по определенному закону единственное число – значение функции F(x,y). Множество D называется областью определения функции. Пару чисел x,y можно рассматривать как пару координат точки M на плоскости, координата z=F(x,y) . При этом аргументами функции будут координаты x,y точки M. Числа x,y можно рассматривать как координаты вектора r , исходящего из начала координат и с концом в точке M(x,y). Тогда функция двух переменных будет функцией вектора, что записывается в виде формулы z = F(r), причем аргументами функции являются координаты вектора r .

График поверхности

График функции двух переменных есть множество точек (x,y, F(x,y)). График представляет собой некоторую поверхность. График функции двух переменных F(x,y) строится с использованием шаблона графика поверхности на панели Графика. Для построения графика поверхности можно использовать различные способы [3] . Если надо только посмотреть общий вид поверхности, MathCAD автоматически строит график.

Для построения графика:

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

· Вызвать Surface Plot с панели графиков (или команду Insert -> Graph -> Surface Plot

· В графической области на месте шаблона для ввода указать (без аргументов) имя функции F.

При автоматическом построении графика независимые переменные x и y принимают значения из промежутка [-5,5].

Построим график функции F(x,y)=(x-1)^5+(y-1)^5( Рис.3.19 ).

F(x,y):=(x-1)^5+(y-1)^5

 Листинг построения графика поверхности примера 3.9

Рис. 3.19. Листинг построения графика поверхности примера 3.9

Настройка графика (изменение параметров)

Чтобы изменить заданные по умолчанию параметры графиков, надо выделить график и, активизировать двойным щелчком левой кнопкой мыши. Появится диалоговое окно 3-D Plot Format (Форматирование трехмерных графиков) ( Рис.3.20 ).

 Окно 3-D Plot Format (Форматирование трехмерных графиков)

Рис. 3.20. Окно 3-D Plot Format (Форматирование трехмерных графиков)

Диалоговое окно 3-D Plot Format содержит девять закладок и множество флажков для выбора режима построения графика.

Вкладка General «Общее».

Раздел View «Вид» показывает углы, под которыми наблюдается построенный график поверхности.

Поле Rotation определяет угол поворота вокруг оси Z в плоскости X-Y. Значение в поле Tilt задает угол наклона линии взгляда к плоскости X-Y. Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз, равное цифре, указанной в поле.

Раздел «Стиль оси» определяет стиль изображения размеров графика:

· периметр –график с размерами по периметру;

· угол –график с размерами по осям;

· нет –график без размеров по периметру и по осям;

· равные шкалы – установка по осям равных масштабов.

Раздел Frames (Границы) определяет обрамление графика:

· Show border – показывает границы графика;

· Show box каркас – показывает график в параллепипеде.

· Plot 1 Display as (График/ несколько графиков Отобразить как) График 1 Панель переключателей определяет форму представления трехмерного графика: контурный, точечный, векторное поле и др.)

После изменения параметра щелкните по кнопке Применить. Для возвращения в документ нажмите клавишу ОК.

Вкладка Axes (Ось) позволяет изменять внешний вид осей координат

· Grids (Сетки) — можно отобразить на графике линии, описываемые уравнениями x,y,z= const.

· Если переменные введены с индексами – x_i, y_jна осях Ox и Oy указываются значения индексов i и j, в то время как ось Oz размечается в соответствии с промежутком, которому принадлежат элементы матрицы значений A_<i,j>» width=»38″ height=»24″ />.</p>
<p>· Auto Grid (Автосетка), программа самостоятельно задает сетку. Если ее отключить, можног указать число линий сетки,.</p>
<p>· Auto Scale (Авошкала) , MathCAD сам определяет границы построения графика и масштабы по осям.</p>
<p>· При отключении Auto Scale можно самостоятельно задать пределы изменения переменных в полях Minimum Value(Минимум) и Maximum Value (Максимум).</p>
<p>· Show Numbers (Нумерация), отображаются метки на осях и подписи к ним.</p>
<p>На вкладке QuickPlot Data ( Рис.3.21 ) можно установить другие пределы изменения независимых переменных x и y, установить количество линий сетки, определить систему координат: декартову, сферическую, цилиндрическую.</p>
<p> <img loading=

Рис . 3.21. Окно 3-D Plot Format. Вкладка QuickPlot Data

Для представления графика в разных системах координат достаточно щелкнуть соответствующий переключатель Coordinat System ( Рис.3.21 ). На рисунках 3.22 и Рис.3.23 показаны графики функции примера 3.9. в сферической и цилиндрической системе координат

F(x,y):=(x-1)^5+(y-1)^5

. График примера 3.9. при установке сферических координат

Рис. 3.22. . График примера 3.9. при установке сферических координат

F(x,y):=(x-1)^5+(y-1)^5

График примера 3.9. при установке цилиндрических координат

Рис. 3.23. График примера 3.9. при установке цилиндрических координат

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options); вид, цвет и толщину дополнительных линий на графике (область Line Options); наносить на график точки данных (опция Draw Points области Point Options), менять их вид, размер и цвет.

Важная опция Calomap окрашивает график: максимальные значения в красный, наименьшие – в синий цвет как в спектре видимого света..

Вкладка Lighting (Освещение). При включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения, «установить» несколько источников света, выбрав для них цвет освещения и определив его направление.

Вкладка Backplanes (Основание) позволяет изменить внешний вид плоскостей, ограничивающих область построения: цвет, нанесение сетки, определение ее цвета и толщины, прорисовка границ плоскостей

Вкладка Advansed (Дополнительно)позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности нрафика, а также указать направление смены окраски (вдоль оси Ox, Oy или Oz). Включение опции Enable Fog (Наличие Тумана) делает график нечетким, слегка размытым (полупрозрачным). При включении опции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя.

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

В автоматическом режиме (по умолчанию) MathCAD строит график в интервале изменения переменных x и y: (-5;5). Если в этой области функция не является непрерывной (имеет разрыв), график не строится. Можно перестроить пределы изменения x и y в окне форматирования. Можно задать пределы изменения x и y аналитически, в нужной области рассмотрения графика и построить сетку с нужными параметрами. Рассмотрим построение графиков различными способами.

Построить график поверхности функции F(x,y)=\ln<[(x-8)(y-10)]>» width=»256″ height=»26″ />разными способами.</p>
<p>1 способ. «Быстрый» график».</p>
<p>Для построения графика:</p>
<p>· вызвать Graph -> Surface Plot</p>
<p>· на месте шаблона указать имя функции F.</p>
<p> <img loading=

 Листинг построения графика поверхности примера 3.10

Рис. 3.24. Листинг построения графика поверхности примера 3.10

2 способ. Использование сетки. Построить график W(x,y)=\ln<[(x-8)(y-10)]>» width=»263″ height=»26″ />F по 20 точкам.</p>
<p>Переменная x меняется от 8 и до 10 , y меняется, от 10 до 12.</p>
<p>Для построения графика в определенной области изменения независимых переменных с определенным шагом надо задать узловые точки <img loading=, y_j, как индексные переменные по точкам. Затем сформировать матрицу значений функции в точках в виде: A_<i,j>=W(x_i,y_j)» width=»153″ height=»27″ />.</p>
<p>· Задать количество точек.</p>
<p>· Ввести номер точки i номер точки j как ранжированные переменные.</p>
<p>· Задать пределы для x y. Задать <img loading=и y_jкак индексные переменные по сетке.

· Определить матрицу A2_<i,j>=F(x_i,y_j)» width=»158″ height=»27″ />.</p>
<p>· Вставить график, на месте шаблона вставить имя матрицы.</p>
<p>График строится не от значений x и y, а от номера точки.</p>
<p> <img loading=

, ,

a1:=8.2, a2:=10, x_i:=a1+\frac<i><N>(a2-a1)» width=»210″ height=»30″ /></p>
<p> <img loading=, b2:=12, x_i:=b1+\frac<j><N>(b2-b1)» width=»203″ height=»31″ /></p>
<p><img decoding=в крайних точках сетки:

x_0=8.2, y_0=10.2

x_<20>=10″ width=»80″ height=»21″ /> , <img decoding=

Рис. 3.25. Листинг построения графика поверхности примера 3.10 при задании сетки

3 способ. Использование функции CreateMesh() .

Встроенная функция в MathCAD для построения графика поверхности. Создает массив, представляющий х-, у- и z-координаты параметрической поверхности, заданной функцией F(). Создает сетку на поверхности определенной функции F() с параметрами , заданными аргументами.

M=CreateMesh (F, x0, x1, y0, y1, xgrid, ygrid, fmap),

x0, x1, y0, y1 – диапазон изменения переменных x и y,

xgrid, ygrid – количество точек переменной х и количество точек переменной y (размеры сетки переменных), количество точек можно задать один раз.

fmap – векторная функция от трех аргументов, задающая преобразование координат, определяет систему координат: декартову, сферическую или цилиндрическую. Если параметр присутствует, то график будет построен в указанной системе координат. Для графика в декартовой системе этот аргумент можно не вводить.

Имеются две встроенные графические функции, которые могут использоваться в аргументах fmap: sph2xyz и syl2xyz.

cyl2xyz – функция преобразования координат из цилиндрической системы в декартову;

ph2xyz – функция преобразования координат из сферической системы в декартову.

На pис.3.26 показано построение графика функции примера с применением CreateMesh() . Указаны границы изменения x – от 8,2 до 10, границы изменения y, – от 10,2 до 12 количество точек сетки – 20 для x и для y. График строится от значений x и y.

W(x,y):=\ln[(x-8)(y-10)]

 Листинг построения графика поверхности примера 3.10 с использованием функции CreateMesh()

Рис. 3.26. Листинг построения графика поверхности примера 3.10 с использованием функции CreateMesh()

Если не указать параметры сетки, функция CreateMesh по умолчанию создает сетку на поверхности с диапазоном изменения переменных от -5 до 5 и с сеткой 20×20 точек. M=CreateMesh (W) ( Рис.3.27 ).

W1(x,y):=\ln[(x-8)(y-10)]

 Листинг построения графика поверхности примера 3.10 с использованием функции CreateMesh() (параметры по умолчанию)

Рис. 3.27. Листинг построения графика поверхности примера 3.10 с использованием функции CreateMesh() (параметры по умолчанию)

Построение поверхности, заданной параметрически

При построении трехмерных поверхностей и объемных фигур можно использовать параметрическое задание описывающих их функций. При этом все три координаты задаются как функции от двух параметров u и v – X(u,v), Y(u,v), Z(u,v). Поверхности задаются значениями координат всех точек. При этом в шаблоне графики указываются три матрицы, хранящие массивы этих координат, X, Y Z.

· Сначала необходимо задать векторы значений параметров u_iи v_j

· Определить матрицы координат x(u,v), y(u,v) и y(u,v). Ввести как индексные переменные.

· Вызвать график поверхности (Graph -> Surface Plot ). В шаблон занести имена матриц. Чтобы получилась фигура вращения, имена вводятся в скобках.

На pис.3.28 показано построение объемной фигуры по точкам. (50 точек). Фигура задана параметрически, параметры – углы \thetaи \varphi. Координаты x,y,z вводятся как индексированные переменные, индексы – ранжированные переменные.

, ,

\phi(i):=\frac<i \cdot 10><N>-5″ width=»142″ height=»30″ /></p>
<p><img decoding=

Z_<i,j>:=\cos<(\phi(i))>(1+0.2\theta(j))» width=»272″ height=»27″ /></p>
<p><b>Рис. 3.28.</b> Листинг примера. 3.11. Поверхность задана параметрически</p>
<h4> Построение поверхности, заданной в векторной параметрической форме </h4>
<p>Построение поверхности, заданной в векторной параметрической форме</p>
<p>Поверхность может быть задана в векторной форме. В этом случае функция вводится в виде матрицы, элементы которой – функции параметров, как и сама поверхность. На pис.3.27 показано построение объемной фигуры примера 3.11, заданной в виде матрицы от параметров — углов <img loading=и \varphi. Количество линий сетки можно изменить в окне форматирования 3-D Plot Format, вкладка QuickPlot Data .

G(\phi,\theta):=\begin<bmatrix>\sin<(\phi(i))>(1+0.2\theta(j)) \\ 0.2\sin<(\phi(i))>\cos <(\theta(j))>\\ \cos<(\phi(i))>(1+0.2\theta(j)) \end<bmatrix>» width=»340″ height=»84″ /></p>
<p> <img loading=

Рис. 3.29. Листинг примера. 3.11. Функция задана в векторной параметрической форме

3D точечный график

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

Построить пространственную кривую, у которой координаты определены следующим образом: x=\cos<(3t)>» width=»98″ height=»26″ />, <img decoding=

x_t:=\cos<(3t)>» width=»122″ height=»26″ /> , <img decoding=

Рис. 3.30. Листинг примера 3.12. Параметрическое задание кривой

2 способ. ( Рис.3.31 ). Векторная форма. Функция задается в виде матрицы-вектора. Для построения графика используется функция CreateSpace()

CreateSpace (R , t0, t1, tgrid, fmap): встроенная функция , создающая массив представляющий х-, у- и z-координаты параметрической пространственной кривой, заданной функцией R() ; и сетку точек на кривой, определенной функцией R() с параметрами , заданными аргументами ,

t0 и t1 – диапазон изменения параметровй, tgrid – размер сетки переменной, fmap – функция отображения аналогично функции CreateMesh() (необязательный параметр). Аргумент t выбирается из указанного интервала: t0=0 t1=10, сетка tgrid=100 точек. Создает сетку точек на кривой.

x1(t):=\cos<(3t)>» width=»139″ height=»26″ /> , <img decoding=

 Листинг примера 3.12. Векторное задание кривой. Использование CreateSpace()

Рис. 3.31. Листинг примера 3.12. Векторное задание кривой. Использование CreateSpace()

Основные итоги

Представлены методы построения графиков функций одной переменной и двух переменных в различных системах координат. На многих примерах показаны различные варианты задания функции, определяющие график: обычным образом (аргументы –скаляры), параметрически, а также в виде матриц и ранжированных переменных. Рассмотрены различные способы построения: автоматическое построение, с построением сетки, с использованием функций CreateMesh() и CreateSpace(). Описаны способы форматирования и настройки графика.

Анимация

Во многих случаях самый зрелищный способ представления результатов математических расчетов – это анимация. MathCAD позволяет создавать анимационные ролики и сохранять их в видеофайлах.

Основной принцип анимации – покадровая анимация – это просто последовательность кадров, представляющих собой некоторый участок документа, который выделяется пользователем. Расчеты производятся обособленно для каждого кадра, причем формулы и графики, которые в нем содержатся, должны быть функцией от номера кадра. Номер кадра задается системной переменной alt=»http://www.coolreferat.com/dopc96932.zip» width=»49″ height=»18″ />, которая может принимать лишь натуральные значения. По умолчанию, если не включен режим подготовки анимации, alt=»http://www.coolreferat.com/dopc96932.zip» width=»49″ height=»18″ />=0.

Рассмотрим последовательность действий для создания ролика анимации, например, демонстрирующего перемещение гармонической волны. При этом каждый момент времени будет задаваться переменной http://www.coolreferat.com/dopc96932.zip.

1. Введите в документ необходимые выражения и графики, в которых участвует переменная номера кадра http://www.coolreferat.com/dopc96932.zip. Подготовьте часть документа, которую вы желаете сделать анимацией, таким образом, чтобы она находилась в поле вашего зрения на экране. В нашем примере подготовка сводится к определению функции f ( x , t ) = sin ( x — t ) и создании ее декартова графика f ( x , FRAME ).

2. Выполните команду Tools | Animation | Record .

3. В диалоговом окне Animate задайте номер первого кадра в поле From (От), номер последнего кадра в поле To (До) и скорость анимации в поле At (Скорость) в кадрах в секунду.

4. Выделите протаскиванием указателя мыши область в документе, которая станет роликом анимации.

5. В диалоговом окне Animate нажмите кнопку Animate . После этого в окошке диалогового окна Animate будут появляться результаты расчетов выделенной области, сопровождающиеся выводом текущего значения переменной http://www.coolreferat.com/dopc96932.zip. По окончании этого процесса на экране появится окно проигрывателя анимации.

6. Запустите просмотр анимации в проигрывателе нажатием кнопки воспроизведения в левом нижнем углу окна проигрывателя.

7. В случае если вид анимации вас устраивает, сохраните ее в виде видеофайла, нажав кнопку Save As в диалоговом окне Animate .

8. Закройте диалог Animate .

http://www.coolreferat.com/dopc96937.zip

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

MathCAD — это просто! Часть 7. Графики поверхностей и графики кривых в пространстве

Как говорится, снова здравствуйте. Как вы уже неоднократно имели возможность убедиться, MathCAD — чрезвычайно мощный математический пакет, который позволяет пользователю решать огромное число самых что ни на есть разнообразных задач, с которыми тот только может столкнуться. Однако стоит отметить, что за все нужно платить, а потому многие задачи решаются довольно громоздко — хотя, впрочем, это проблемы не столько MathCAD’а, сколько математического аппарата, который эта программа реализует. Построение трехмерных графиков поверхностей, с которым мы с вами знакомились в предыдущей статье цикла, оказалось не такой уж и сложной задачей — большую часть статьи я, если помните, рассказывал о том, как эти графики можно потом раскрасить, чтобы они максимально удачно смотрелись в отчете, реферате или презентации. Однако сегодня мы с вами займемся более серьезным делом, чем раскрашивание трехмерных графиков — хотя с графиками, и именно трехмерными, все равно продолжим работать. Чем же мы будем заниматься? Думаю, вы сможете сами ответить на этот вопрос, если продолжите чтение данной статьи.

Когда график врет, и что следует делать в таких случаях?

Естественно, любой, даже самый точный, график — всего лишь приближенная визуализация некоторой математической функции. Математики даже часто, чтобы это подчеркнуть, говорят не о построении графиков, а об их схематическом изображении. Но, как правило, даже довольно грубого метода построения трехмерных графиков вполне хватает для того, чтобы получить представление о поведении функции в тех или иных областях пространства. На самом деле проблемы, возникающие при построении графиков в MathCAD’е, куда более серьезны и связаны с разрывами функций. Во-первых, MathCAD часто вовсе не захочет строить график тех функций, для которых он найдет неустранимые разрывы в области построения графика. К примеру, попробуйте построить график z = 1/x + 1/y на стандартном для трехмерных графиков интервале от -5 до +5 и посмотрите, что получится. Естественно, вдоль прямых x = 0 и y = 0 график будет уходить в бесконечность. Заранее хочу предупредить, что ничего хорошего получиться не может: неустранимый разрыв на то и неустранимый, что поделать с ним ничего, собственно говоря, попросту невозможно. Поэтому здесь придется как-то изловчаться: искать точку разрыва и строить графики отдельно для областей справа и слева от нее. Если точек разрыва много (например, для периодических функций в знаменателе), то это может оказаться довольно-таки утомительно, но на самом деле какого-либо общего и простого метода решения данной проблемы просто не существует.

Однако на этом напасти с графиками (а точнее, с отображением точек разрыва на них) далеко не заканчиваются — напротив, я бы даже сказал, все только-только начинается. Бывает, что MathCAD вполне успешно (на его собственный взгляд) справляется с такими нехорошими вещами, как разрывы функций. Делает он это, правда, в довольно-таки специфической форме: разрывы эти попросту игнорируются, и их существование на графике никаким образом не отображается. Примером этому может служить построение такого несколько экзотического графика, как z = x*y/cos(x*y). Вполне естественно предположить, что в тех точках, где знаменатель равен нулю (т. е. x*y = pi/2), график будет устремляться к бесконечности. На практике же MathCAD, что называется, «не плюется» на эту функцию, а спокойно строит нечто, что якобы является ее графиком.

Почему такое происходит? В общем-то, секретов нет — нужно только представлять себе, как именно строятся графики в MathCAD’е. Дело в том, что графики MathCAD строит дискретно, вычисляя значения функции в определенных точках, а после соединяя их прямыми. Естественно, чем меньше шаг дискретизации (т.е. расстояние между соседними вычисляемыми значениями функции), тем больше вероятность того, что при построении графика MathCAD столкнется с точкой разрыва — тогда мы получим именно тот самый случай, когда программа откажется напрочь строить такой график. Но бывает и другой случай — как раз такой, который мы сейчас вот здесь с вами рассматривали вторым. Тогда MathCAD просто пропускает точку разрыва, сглаживая ее прямыми — т.е. эта точка попадает между опорными точками, по которым программа строит график нашей поверхности. К сожалению, второй случай проблемы с точками разрыва на практике ничуть не лучше первого (хотя первоначально может показаться, что с ним довольно легко справиться). Если мы уменьшим шаг, с которым MathCAD строит опорные точки графика, то получится как раз первый случай: алгоритм построения графика успешно угодит на точку разрыва и начнет паниковать, подозревая нас в желании заставить его поделить что-нибудь на ноль. Так что, как видите, построение трехмерных графиков — задача, требующая часто творческого подхода к ее решению.

Волшебная функция CreateMesh

Мы с вами уже умеем строить графики поверхностей в трехмерном пространстве, что называется, в лоб. То есть если имеется явная функциональная зависимость координаты z (аппликаты) от x (абсциссы) и y (ординаты). Однако, к сожалению, природа по неведомым ей соображениям не пожелала ограничиться только такими зависимостями — значит, и нам с вами, может так случиться, придется строить график поверхности, заданной не какой-то функцией, а уравнением. К счастью, разработчики MathCAD предусмотрели такую возможность и предложили пользователям функцию, которая будет весьма и весьма полезна при построении подобных пространственных графиков. О ней мы с вами сейчас, конечно же, и поговорим.

Использование функции CreateMesh предполагает параметризацию той поверхности, которую вы хотите визуализировать с использованием MathCAD’а. Поскольку о параметризации я, помнится, не так уж давно рассказывал, думаю, лишний раз подробно останавливаться на том, в чем заключается суть этого процесса, не буду — лучше сразу перейдем к практике использования этой чрезвычайно полезной практически для каждого пользователя функции. Итак, во-первых, нужно задать три функции, описывающие зависимость каждой из координат (x, y, z) от двух параметров. Да, это строгое ограничение: параметров должно быть именно два — с другим числом параметров MathCAD работать не умеет. Правда, стоит отметить, что для построения подавляющего большинства широко распространенных поверхностей этого вполне хватит. Для определенности положим, что параметры у нас будут a и b. После того, как функциональная зависимость задана, функции x(a,b), y(a,b) и z(a,b) нужно сгруппировать в вектор-столбец. Напомню, что для этого нужно создать с помощью кнопки Matrix or Vector, расположенной на панели инструментов Matrix, матрицу размером 3 на 1, в элементы которой и вписать указанные функции. Далее добавляем на рабочую область MathCAD поле трехмерного графика, внизу которого пишем следующее (без кавычек): «CreateMesh(f, 0, 10, 0, 10, 50, 50)». Результаты построение одной из возможных параметрических поверхностей вы можете увидеть на рисунке.

Давайте теперь разберемся с параметрами, которые указаны для функции CreateMesh. Каждый из них, как вы наверняка догадываетесь, несет в себе глубокий смысл, а потому менять их местами не представляется возможным. Первым стоит имя нашего вектора с функциями. В принципе, запись, которую вы видите на иллюстрации, можно было бы даже несколько упростить, если бы записать в вектор не x(a,b), y(a,b) и z(a,b), а их непосредственные выражения. Однако я написал все именно в таком виде, чтобы вам было легче понять, что именно где в этом векторе стоит. После имени вектора идут соответственно минимальное и максимальное значения для первого и второго параметров. Здесь у нас границы и для a, и для b принимают, в общем-то, одни и те же значения, но на практике это может быть совершенно не так. Далее идут два параметра, указывающие MathCAD, на сколько шагов разбить указанный диапазон для построения точек, по которым уже будет чертиться собственно график. Все параметры, кроме имени вектора, описывающего поверхность, являются необязательными. И, вообще говоря, есть еще один параметр, который в данном примере опущен — он используется для работы с системами координат, и о нем, я так думаю, мы лучше поговорим как-нибудь в другой раз. Для того, чтобы показать всю простоту и мощь применения CreateMesh, приведу еще один пример, а именно построение с помощью данной функции сферы. Для этого нужно задать следующие уравнения в описанном выше примере: x(a,b) := sin(a)*cos(b); y(a,b) := sin(a)*sin(b); z(a,b) := cos(a). Кроме того, нужно поменять также и диапазоны, в которых будут изменяться a и b: первый параметр будет меняться от нуля до двух пи, второй — от нуля до пи. Результат построения сферы вы также можете увидеть на соответствующем рисунке.

Функция CreateSpace

Несмотря на все достоинства функции CreateMesh, она не позволяет строить в пространстве отдельных линий, что не есть хорошо. Поэтому для полноты нашего сегодняшнего разговора о разных полезных при построении трехмерных графиков функциях будет неплохо также рассмотреть и такую вещь, как CreateSpace. Фактически эту функцию можно считать аналогом CreateMesh с той лишь разницей (впрочем, оказывающейся довольно существенной), что эту функцию можно использовать для построения кривых в пространстве. Формат записи данных для CreateSpace несколько отличается от аналогичного для CreateMesh. Во-первых, параметр у кривой должен быть только один. Отсюда пляшет и количество параметров у самой функции. Для того, чтобы получить график кривой, а не поверхности, нужно включить в свойствах графика тип Scatter Plot или Data Points; также для удобства просмотра получившихся результатов желательно включить отрисовку не только точек, но и целых линий.

Справедливости ради стоит сказать, что CreateSpace позволяет создавать не только графики кривых, но и графики поверхностей — полагаю, вы уже уловили, что основное отличие этой функции от CreateMesh заключается в том, что она позволяет использовать не два параметра для параметризации поверхности, а только один. Хотя о трехмерных графиках в MathCAD’е мы поговорили уже немало, по-настоящему этот разговор еще только, можно сказать, начинается. Так что готовьте ваши компьютеры к новым интересным вещам, с которыми я вас познакомлю в серии статей «MathCAD — это просто». Ведь действительно же просто, правда?

SF, spaceflyer@tut.by

Компьютерная газета. Статья была опубликована в номере 19 за 2008 год в рубрике soft

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *