Цель работы: приобрести навыки построения трехмерных графиков в MatLab.
График поверхности (трехмерный или 3D-график) – это график, положение точки в котором определяется значениями трех координат.
Построение графиков поверхностей
Декартовая система координат состоит из заданной фиксированной точкой пространства О, называемой началом координат, и трех перпендикулярных прямых пространства ОХ, OY, OZ, не лежащих в одной плоскости и пересекающихся в начале координат – их называют координатными осями (ОХ – ось абсцисс, OY – ось ординат, OZ – ось аппликат). Положение точки М в пространственной системе координат определяется значением трех координат и обозначается М(х,у,z). Три плоскости, содержащие пары координатных осей, называются координатными плоскостями XY, XZ, YZ.
Величина z называется функцией двух переменных х и у, если каждой паре чисел, которые могут быть значениями переменных х и у, соответствует одно или несколько определенных значений величины z. При этом переменные хи у называют аргументами функции z(x, у).Пары тех чисел, которые могут быть значениями аргументов х, у функции z(x, у),в совокупности составляют область onределения функции.
Для построения графика двух переменных z=f(x,y) необходимо выполнить следующие действия:
1. Сформировать в области построения графика прямоугольную сетку, проводя прямые, параллельные осям y=yj и x=xi, где xi=x0+ih, h=(xn-xo)/k, i=0,1,2,…,n, .
2. Вычислить значения во всех узлах сетки.
3. Обратится к функции построения поверхности, передавая ей в качестве параметров сетку и матрицу Z=(zi,j) значений в узлах сетки.
Функцияmeshgrid – для форматирования прямоугольной сетки.
ПРИМЕР 1 Построить график функции z(x,y)=y 2 -x 2 , где х [2,2], y [-3,3].
Для форматирования сетки воспользуемся функцией meshgrid.
После формирования сетки вычислим значение z во всех узлах.
Обратимся к функции mesh для построения графика: mesh(x,y).
В результате чего будет построен трехмерный график (рис. 1).
Для получения менее грубого графика следует сетку делать более плотной (рис. 2).
Рис. 1График функции z(x,y) = y 2 — x 2
Рис. 2График функции z(x,y) = y 2 — x 2 с плотной сеткой
Функция surf – строит каркасную поверхность, заливая каждую ее клетку цветом, который зависит от значения функции в узлах сетки.
ПРИМЕР 2
Построить график функции .
Рис. 3График функции
В MatLab можно построить графики двух поверхностей в одной системе координат. Для этого, как и для плоских графиков, следует использовать команду hold on, которая блокирует создание второго нового окна при выполнении команд surfили mesh.
ПРИМЕР 3
Построить график функции z(x, у) = ±(х 2 + y 2 ) — 1.
При построении графиков поверхностей, заданных параметрически: х(u, v), у(u, v) и z(u, v), необходимо построить матрицы X, Y и Z одинакового размера. Для этого массивы u и v должны быть одинакового размера. После этого следует выделить два основных вида представления х, у и z в случае параметрического задания поверхностей:
1. Если х, у и z представимы в виде f(u)*g(u), то соответствующие им матрицы X, Y и Z следует формировать в виде матричного умножения f(u) на g(u).
2. Если х, у и z представимы в виде f(u) или g(u), то в этом случае матрицы X, Y и Z следует записывать в виде f(u)ones(size(v)) или g(u)ones(size(u)) соответственно.
ПРИМЕР 4
Построить поверхность однополостного гиперболоида, уравнение которого задано в параметрическом виде:
%Формируем матрицу X как матричное произведение ch(u)*cos(v)
%Формируем матрицу Y как матричное произведение ch(u)*sin(v)
%Формируем матрицу Z как матричное произведение столбца sh(u) на строку
%Формируем график поверхности
%Подписываем график и оси
title(‘ГРАФИК ОДНОПОЛОСТНОГО ГИПЕРБОЛОИДА’);
Общие принципы форматирования трехмерных графиков остаются теми же, что и в двумерном случае.
Анимация
При изучении движения точки на плоскости и в пространстве, MatLab позволит построить график движения и проследить за ним. Для построения анимационного ролика в MatLab существуют две функции: comet(х, у) и comet3(х,y,z). Функция comet(х, у) позволит увидеть движение точки вдоль кривой у(х) на плоскости, а функция comet3(х, у, z)позволит проследить за ее движением вдоль пространственной кривой z(x, у).
ПРИМЕР 5
Движение точки на плоскости вдоль эллипса, который параметрически задается уравнением .
ПРИМЕР 6
Движение точки в пространстве вдоль винтовой линии, параметрическое уравнение которой имеет вид .
1. Построить графики поверхностей, заданных явно и параметрически; использовать встроенную функцию MatLab figure(n) для размещения программного кода в одном программном окне (a, p – номер компьютера; b,q – номер в списке группы; с – произвольное число).
2. Создать анимационный ролик, использовав при этом две любые функции из приведенных ниже.
Построение графика функции z=f(x,y) в виде поверхности в декартовой системе координат.
Построение графика поверхности, заданной параметрически.
Форматирование трехмерных графиков.
Кривая в пространстве.
Векторные и градиентные поля.
Поверхности, полученные вращением кривых вокруг осей.
Видео:11. Производная неявной функции примерыСкачать
Построение трехмерного графика в mathcad
Лабораторная работа №4
Цель работы
Овладеть навыками построения графиков в MathCAD.
Задачи:
– умение применять различные способы построения трехмерных графиков в Mathcad;
Порядок выполнения
График поверхности (трехмерный) – это график, положение точки в котором определяется значениями трех координат. Прямоугольная система координат в пространстве состоит из начала координат и трех перпендикулярных прямых пространства, не лежащих в одной плоскости и пересекающихся в начале координат.
Функция в пространственной системе координат задается:
1. формулой, функция бывает как явной так и неявной.
2. таблицей с двойным входом, т.е. в верхней строке значения одного аргумента, в левом столбце значения другого, а на пересечении записывают соответствующее значение функции.
3. пространственным графиком, представляет собой поверхность в пространственной системе координат, проекция любой точки поверхности на плоскость служит изображением пары значений аргументов x,y, а аппликата данной точки изображает соответствующее значение функции.
Построить график функции, заданной в виде таблицы:
1. Для вставки таблицы необходимо выполнить следующие команды: Добавить – Данные – Таблицу.
2. Заполнить таблицу числовыми значениями.
3. Для построения графика необходимо выбрать: Добавить – Графики – График поверхности.( рис. 16).
Рис 16. График поверхности
Можно форматировать получившийся график с помощью диалогового окна ( рис. 17) со следующими вкладками:
Рис 17. Форматирование графика
Вкладка «Вид» позволяет менять фон графика, заливку, линии. На вкладке «Общие» можно задать угол поворота, угол наклона и вращения, тип графика.
Построить график функции:
Сначала ввести функцию, затем выбрать Добавить – Графики – График поверхности.( рис. 18).
Рис 18. Форматирование графика
Контурный график Точечные данные График полосы
1. Построить график функции
2. Построить график функции
3. Построить график функции:
4. Построить график функции:
5. Изобразить график:
6. Построить график двух функций в одной области:
7. Изобразить линии, заданные неявно:
8. Построить фигуру, заданную линией:
9. Построить на плоскости кривую, заданную в параметрическом виде:
10. Изобразить кривые, заданные в полярных координатах:
Дата добавления: 2014-10-31 ; Просмотров: 2914 ; Нарушение авторских прав? ;
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Построение графика функции z=f(x,y) в виде поверхности в декартовой системе координат.
Поверхности, полученные вращением кривых вокруг осей.
Для построения графика поверхности можно воспользоваться двумя способами:
1. Если вам надо только посмотреть общий вид поверхности, то MathCAD предоставляет возможность быстрого построения подобных графиков. Для этого достаточно определить функцию f(x,y) и выполнить команду Insert -> Graph -> Surface Plot или нажать соответствующую кнопку наборной панели Graph (соченание клавиш [Ctrl+7]). В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции. MathCAD автоматически построит график поверхности. Независимые переменные x и y принимают значения из промежутка [-5,5].
При необходимости этот промежуток может быть уменьшен или увеличен. Для этого необходимо выделить график и воспользоваться командой Format -> Graph -> 3D Plot или щелкнуть ПРАВОЙ кнопкой мыши по выделенному графику и в контекстном меню выбрать команду Format. В появившемся окне 3-D Plot Format на вкладке QuickPlot Data можно установить другие параметры изменения независимых переменных x и y.
Для построения графика поверхности в определенной области изменения независимых переменных или с конкретным шагом их изменения необходимо сначала задать узловые точки xi и yj, в которых будут определяться значения функции. После (а можно и до) этого надо определить функцию f(x,y), график которой хотите построить. После этого необходимо сформировать матрицу значений функции в виде: Ai,j=f(xi,yj).
Теперь после выполнения команды Insert -> Graph -> Surface Plot в появившейся графической области достаточно ввести имя матрицы (без индексов).
Если вы хотите, чтобы узловые точки были расположены через равные промежутки, воспользуйтесь формулами, изображенными на рисунке.
Для построения графика линий уровня данной функции необходимо поступать также как это было описано выше, только вместо команды (Поверхности) следует выбрать команду Contour Plot (Контурный). Аналогично, при помощи команды 3D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции, при помощи команды 3D Scatter Plot (3D Точечный) – трехмерный точечный график, а при помощи команды 3D Patch Plot (3D Лоскутный) – трехмерный график поверхности в виде несвязанных квадратных площадок – плоскостей уровня для каждой точки данных, параллельных плоскости X-Y
Если поверхность задана параметрически, это означает, что все три координаты – x и y и z – заданы как функции от двух параметров u и v. Сначала необходимо задать векторы значений параметров ui и vj. Затем необходимо определить матрицы значений функций координат x(u,v), y(u,v) и y(u,v).
После выбора команды Surface Plot в MathCAD документе появится графическая область. В свободной ячейке внизу области надо указать В СКОБКАХ имена (без аргументов и индексов) трех матриц – x,y,z.
Если вас не устраивает внешний вид созданного трехмерного графика, вы можете изменитьего, выполнив команду Format -> Graph -> 3D Plot или выполнив двойной щелчок мышкой на графической области. В результате на экране появится диалоговое окно 3-D Plot Format, позволяющее изменять параметры отображения графика. Мы рассмотрим здесь основные опции. Разобраться во всех тонкостях управлением видом графика вы можете самостоятельно, построив график и поэкспериментировав, выбирая те или иные опции.
Диалоговое окно 3-D Plot Format содержит несколько вкладок. Некоторые из них мы рассмотрим более подробно, а для других – опишем лишь их функциональное назначение.
На вкладкеGeneral (Общие свойства) вы можете
в области View задать направление взгляда наблюдателя на трехмерный график. Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости X-Y. Значение в поле Tilt задает угол наклона линии взгляда к плоскости X-Y. Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз, равное цифре, указанной в поле.
в области Axes Style (Стиль оси) задать вид осей, выбрав селекторную кнопку Perimetr (Периметр) или Corner (Угол). В первом случае оси всегда находятся на переднем плане. При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A0,0матрицы A.
в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями, а опция Show border (Границы) позволяет заключить график в прямоугольную рамку.
в области Plot 1 (Plot 2. ) Display as (График/ несколько графиков Отобразить как) – имеются селекторные кнопки для представления графика в друих видах (контурный, точечный, векторное поле и др.)
Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат.
Посредством опций области Gr >
При этом рядом с осями Ox и Oy указываются не значения узловых точек xi, yj, а значения индексов i и j, в то время как ось Oz размечается в соответствии с промежутком, которому принадлежат элементы матрицы значений Ai,j.
Если установлена опция Auto Grid (Автосетка), программа самостоятельно задает расстояние между соседними отметками на осях. Вы можете сами указать число линий сетки, если отключите указанную опцию.
Если установленна опция Auto Scale (Авошкала) , то MathCAD сам определяет границы построкния графика и масштабы по осям. Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value(Минимум) и Maximum Value (Максимум).
Вкладка Appearance(Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options); вид, цвет и толщину дополнительных линий на графике (область Line Options); наносить на график точки данных (опция Draw Points области Point Options), менять их вид, размер и цвет.
Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения, «установить» несколько источников света, выбрав для них цвет освещения и определив его направление.
Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей, ограничивающих область построения: цвет, нанесение сетки, определение ее цвета и толщины, прорисовка границ плоскостей.
На вкладке Special (Специальная) можно изменять параметры построения, специфичные для различных типов графиков.
Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности нрафика, а также указать направление смены окраски (вдоль оси Ox, Oy или Oz). Включение опции Enable Fog (Наличие Тумана) делает график нечетким, слегка размытым (полупрозрачным). При включении опции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя.
Вкладка Quick Plot Data обсуждалась ранее в начале раздела.
Трехмерные точечные графики можно использовать для построения изображения пространственных кривых. Пространственные кривые задаются, как правило, в виде (x(t),y(t),z(t)), где t представляет собой непрерывный действительный параметр.
Поскольку при построении техмерной точечной диаграммы MathCAD позволяет отображать на графике только отдельные точки и соединяющие их линии, необходимо сначаоа определить три вектора координат – xi, yi, zi.
Пространственная кривая создается командой Insert3D -> Graph ->Scatter Plot. Можно использовать наборную панель Graph, выбрав соответствующую пиктограмму. Для соединения точек необходимо на вкладке Appearance окна форматирования графиков указать опцию Line.
Команда Insert -> Graph -> Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx, vy).
При этом векторное поле необходимо вначале определить как вектор-функцию двух координат – x и y. Затем задаются векторы значений узловых точек x и y. При помощи этих векторов компоненты векторного поля vx(x,y) и vy(x,y) генерируются в виде матриц значений vxi, j и vyi, j.
Подобным образом можно построить градиентное поле скалярной функции f(x,y). Градиентное поле для функции двух переменных представляет собой двумерное векторное поле.
Как и в остальных случаях, внешний вид изображения векторного поля можно легко изменить, выполнив двойной щелчок в области графика и изменив требуемые опции в открывшемся диалоговом окне 3-D Plot Format.
Интересные объемные фигуры можно получит, вращая некоторую кривую вокруг той или иной оси. Построение этих фигур вращения сродни параметрически заданным поверхностям.
При этом необходимо обеспечитьпересчет координат точек фигуры по известным из геметрии формулам. В MathCAD встроена функция CreateMesh, с помощью которой можно построить параметрически заданные поверхности.
БлогNot. MathCAD: матрица для 3D-графика
MathCAD: матрица для 3D-графика
В ряде версий MathCAD единственный объект, который можно отобразить на трёхмерном графике – матрица, строки и столбцы которой должны содержать значения f(x,y) . Типовой вопрос начинающих – есть ли какой-то общий алгоритм формирования такой матрицы для построения 3D-графика функции f(x,y) в заданных пределах и с заданным шагом?
Такой алгоритм очень прост. Рассмотрим случай, когда шаг и пределы по осям 0x и 0y одинаковы, разные границы для значений x и y легко сделать по аналогии.
Сначала проделаем всю работу «вручную».
В любом случае, сначала следует определить границы изменения аргументов a , b и саму функцию, обозначим её z(x,y) :
Теперь можно действовать по одному из 2 алгоритмов.
Во-первых, мы можем определить желаемое число узлов сетки N по каждой из осей, а исходя из него вычислить шаг по аргументам h и заполнить матрицу значений функции:
Во-вторых, можно исходить из шага и по нему вычислить число узлов. Проблема этого способа в том, что выбранный нами шаг по аргументу может не составить целое количество интервалов сетки (например, шаг h=0.1 для интервала [0,π] ). Поэтому будем округлять вычисленное значение N вверх с помощью стандартной функции ceil . Возможно, мы рискуем при этом «прихватить» лишнюю область определения функции:
Обратите также внимание, что для построения 3D-графика в любой относительно новой версии MathCAD можно и не формировать матрицу, просто впишите в поле ввода графической области название функции без аргументов. Правда, пределы изменения аргументов и шаг в этом случае будет выбирать сам MathCAD:
Скачать архив .zip с этим примером (формат .xmcd) (96 Кб)
Если нужен график не функции двух переменных, а просто неких табличных данных, сформируйте матрицу «вручную», например, введите с клавиатуры A:= (знак := вводится нажатием двоеточия на клавиатуре), нажмите комбинацию клавиш Ctrl+M (вставка матрицы), задайте количество строк и столбцов матрицы, заполните пустые элементы матрицы данными.
Если быстрее прочитать матрицу из файла, поможет код вида
READPRN пишется именно так, большими буквами!
Документ должен быть сохранён, и в той же папке создан текстовый файл с именем data.txt (для этого примера, можно и любое другое имя файла), содержащий разбитые по строкам элементы матрицы, скажем, такие:
Узелок на память MathCAD 15 в сборке Portable (и не только в ней) может отображать трёхмерные графики неправильно (видна только пустая рамка, хотя всё построено верно). В таком случае просто делаем двойной щелчок по графику, переходим в свойствах на вкладку Общие, отключаем опцию Показать границу. и всё работает! Баг встречался и под Windows 7, и под XP. Второй вариант исправления – установить в настройках Windows цветность 16 бит вместо 32, проверено, помогло на современных широких мониторах.
Ну и напоследок приятный сюрприз. Нашу работу можно автоматизировать с помощью готовой функции Mathcad (только версия 15 или линейка версий Prime):
Здесь f – заданная в документе функция 2 переменных, а матрица A создаётся по сетке значений x от -1 до 1 включительно с 30 узлами, значения y меняются от -2 до 2 включительно и создаётся 40 узлов сетки (количество интервалов будет на единицу меньше). Кроме того, в этом случае Mathcad может подписать оси графика не индексами узловых точек а нормальными значениями x и y:
График здесь – обычная поверхность (Surface Plot).
06.03.2014, 12:18; рейтинг: 18443
Видео:18+ Математика без Ху!ни. Производная неявной функции.Скачать
График поверхности, заданной явной функцией.
График функции можно нарисовать, используя команду plot3d(f(x,y), x=x1…x2, y=y1…y2, options). Параметры этой команды частично совпадают с параметрами команды plot. К часто используемым параметрам команды plot3d относится light=[angl1, angl2, c1, c2, c3] – задание подсветки поверхности, создаваемой источником света из точки со сферическими координатами (angl1, angl2). Цвет определяется долями красного (c1), зеленого (c2) и синего (c3) цветов, которые находятся в интервале [0,1]. Параметр style=opt задает стиль рисунка: POINT –точки, LINE – линии, HIDDEN – сетка с удалением невидимых линий, PATCH – заполнитель (установлен по умолчанию), WIREFRAME – сетка с выводом невидимых линий, CONTOUR – линии уровня, PATCHCONTOUR – заполнитель и линии уровня. Параметр shading=opt задает функцию интенсивности заполнителя, его значение равно xyz – по умолчанию, NONE – без раскраски.
График поверхности, заданной параметрически.
Если требуется построить поверхность, заданную параметрически: x=x(u,v), y=y(u,v), z=z(u,v), то эти функции перечисляются в квадратных скобках в команде: plot3d([x(u,v), y(u,v), z(u,v)], u=u1..u2, v=v1..v2).
График поверхности, заданной неявно.
Трехмерный график поверхности, заданной неявно уравнением , строится с помощью команды пакета plot: implicitplot3d(F(x,y,z)=c, x=x1..x2, y=y1..y2, z=z1..z2), где указывается уравнение поверхности и размеры рисунка по координатным осям.
График пространственных кривых.
В пакете plotимеется команда spacecurve для построения пространственной кривой, заданной параметрически: . Параметры команды:
> spacecurve([x(t),y(t),z(t)],t=t1..t2),
где переменная t изменяется от t1 до t2.
Анимация.
Maple позволяет выводить на экран движущиеся изображения с помощью команд animate(двумерные) и animate3d (трехмерные) из пакета plot. Среди параметров команды animate3d есть frames – число кадров анимации (по умолчанию frames=8).
Трехмерные изображения удобнее настраивать не при помощи опций команды plot3d, а используя контекстное меню программы. Для этого следует щелкнуть правой кнопкой мыши по изображению. Тогда появится контекстное меню настройки изображения. Команды этого меню позволяют изменять цвет изображения, режимы подсветки, устанавливать нужный тип осей, тип линий и управлять движущимся изображением.
Контекстное меню настройки изображения:
Задание 2.
1. Выполнить построение двух поверхностей и в пределах . Установите переменный цвет поверхностей как функцию .
5. Нарисовать движущийся объект. Вначале наберите в командной строке:
> animate3d(cos(t*x)*sin(t*y), x=-Pi..Pi,
y=-Pi..Pi, t=1..2);
Щелкните по появившемуся изображению правой кнопкой мыши. В появившемся контекстном меню выполните команду Animation®Continuous. Затем снова вызовите контекстное меню и выполните команду Animation®Play. Для того, чтобы остановить движение, выполните команду Animation®Stop. Затем поверните рисунок под другим углом и сделайте его вновь движущимся.
6. Выполните все контрольные задания. Результаты выполнения заданий покажите преподавателю. Сохраните файл со всеми выполненными заданиями на диск. Ответьте на все контрольные вопросы.
Видео:Построение трехмерного графика в MathCAD 14 (14/34)Скачать
Лабораторная работа №4 Построение трехмерных графиков в Scilab
Лабораторная работа №4
Построение трехмерных графиков в Scilab
1. Изучить основные возможности Scilab по созданию трехмерных графиков— объемных и пространственных
2. Научиться строить трехмерный график функции.
Функции plot3d и plot3d1
В Scilab поверхность можно построить с помощью функций plot3d или
plot3d1. Их отличие состоит в том, что plot3d строит поверхность и заливает ее одним цветом, а plot3d1 — поверхность, каждая ячейка которой имеет цвет, зависящий от значения функции в каждом соответствующем узле сетки.
Обращение к функциям следующее:
plot3d(x, y,z,[theta, alpha, leg, flag, ebox]Трехмерный график поверхности заданной неявно уравнением f x y z c строится с помощью команды),
plot3d1(x, y,z,[theta, alpha, leg, flag, ebox]Трехмерный график поверхности заданной неявно уравнением f x y z c строится с помощью команды),
здесь x — вектор-столбец значений абсцисс;
y — вектор-столбец значений ординат;
z — матрица значений функции;
theta, alpha — действительные числа, которые определяют в градусах сферические координаты угла зрения на график. Попросту говоря, это угол, под
которым наблюдатель видит отображаемую поверхность;
leg — подписи координатных осей графика — символы, отделяемые знаком @. Например, ’X@Y@Z’.
flag — массив, состоящий из трех целочисленных параметров: [mode, type, box].
mode — устанавливает цвет поверхности (см. табл.1). По умолчанию равен 2 — цвет заливки синий, прямоугольная сетка выводится.
Таблица 1. Значения параметра mode
type — позволяет управлять масштабом графика (см. табл. 2), по умолчанию имеет значение 2;
Таблица 2. Значения параметра type
box — определяет наличие рамки вокруг отображаемого графика
(см. табл. 3). По умолчанию равен 4.
Таблица 3. Значения параметра box
ebox — определяет границы области, в которую будет выводиться поверхность, как вектор [xmin, xmax, ymin, ymax, zmin, zmax]. Этот параметр может использоваться только при значении параметра type=1.
key1=value1, key2=value2, . keyn=valuen, таких как толщина линии, ее цвет, цвет заливки фона графического окна, наличие маркера и др. Таким образом, функции plot3d (plot3d1) в качестве параметров необходимо
передать прямоугольную сетку и матрицу значений в узлах сетки.
Пример. Построить график функции Z = sin(t) · cos(t).
Создадим массив значений аргумента t.
Вычислим значения функции и запишем их в массив Z.
Обратите внимание, что при обращении к функции plot3d в качестве параметров X и Y, задающих прямоугольную сетку, дважды указан параметр t,
поскольку обе функции — и sin, и cos — зависят от одной переменной — t
Теперь немного усложним задачу. Построим поверхность, уравнение которой
задается двумя независимыми переменными.
Построить график функции Z =5
Рис. 1. График функции Z = sin(t) · cos(t)
Прежде всего зададим массивы X и Y.
Затем сформируем матрицу значений функции Z(xi, yj), используя оператор цикла for. Здесь i — параметр цикла, который будет перебирать все значения массива X, а j — параметр цикла, который будет сопоставлять каждому значению массива X по очереди все значения массива Y.
Таким образом, сначала будут вычислены все значения функции Z применяющемся Y (от первого до последнего значения в массиве) и первом значении массива X. Затем — при втором значении массива X и т. д.
Напомним, здесь length — определяет количество элементов массива
Наконец, для построения поверхности обратимся к функции plot3d1
Как видно из примера, использование лишь функции plot3d для графического изображения показателей, зависящих от двух независимых переменных, достаточно сложно. В Scilab существует несколько команд, призванных облегчить процедуру создания прямоугольной сетки — это genfac3d и eval3dp.
Простейшей из них по синтаксису является функция genfac3d:
[xx, yy, zz]=genfac3d(x, y,z. Здесь xx, yy, zz — результирующая матрица размером (4,n − 1 Ч m − 1), где
xx(:,i), yy(:,i) и zz(:,i) — координаты каждой из ячеек прямоуголь-
x — вектор x-координат размера m;
y — вектор y-координат размера n;
z — матрица размера (m, n) значений функции Z(xi, yj ).
Функции meshgrid, surf и mesh
Для формирования прямоугольной сетки впервые в Scilab 4.0 появилась
функция meshgrid. Обращение к ней имеет вид:
[X, Y [Z]] = meshgrid(x, y [z])
здесь (x, y [z]) — массивы 2 (3) исходных параметров X, Y (Z), указываемые через запятую;
[X, Y [Z]] — матрицы в случае 2 и массивы в случае 3 входных величин.
После формирования сетки вывести в нее график можно с помощью функции surf либо mesh. Так же, как и в случае с функциями plot3d и plot3d1,
surf строит поверхность, заливая каждую ячейку цветом, который зависит от конкретного значения функции в узле сетки, а mesh заливает ее одним цветом.
Таким образом, mesh является полным аналогом функции surf со значением параметров Сolor mode=индекс белого цвета в текущей палитре цветов и Сolor flag=0.
Обращение к функциям имеет вид:
surf([X, Y],Z,[color, keyn=valuen])
здесь X, Y — массивы, задающие прямоугольную сетку;
Z — матрица значений функции;
color — матрица действительных чисел, устанавливающих цвет для каждого узла сети;
key1=value1, key2=value2, . keyn=valuen, определяющих его внешний вид.
Конечно, в том случае, если прямоугольная сетка была построена командой
meshgrid, необходимости указывать параметры X, Y нет. В самом простейшем случае к функции surf можно обратиться так — surf(z).
Построить график функции Z = 5 с помощью команды mesh.
C помощью команды meshgrid создадим прямоугольную сетку. Здесь −2 : 2
определяет положение прямых, параллельных оси X, а −3 : 3 — оси Y.
После формирования сетки вычислим значения функции Z во всех узлах и
обратимся к функции mesh для построения графика.
Создание прямоугольной сетки графика командой meshgrid и построение ее графика с помощью функции mesh
Рис. 2. График функции Z = 5, построенный командой mesh
Как видно из рисунка 2, сетка, построенная с шагом 1, слишком редкая, а вычисленных значений функции в узлах недостаточно для изображения плавного графика. Поэтому зачастую лучше самостоятельно указывать шаг формирования прямоугольной сетки при вызове команды meshgrid.
Функции plot3d2 и plot3d3
Функции plot3d2 и plot3d3 являются аналогами функции plot3d, поэтому
имеют такой же синтаксис:
plot3d2(x, y,z,[theta, alpha, leg, flag, ebox]Трехмерный график поверхности заданной неявно уравнением f x y z c строится с помощью команды),
plot3d3(x, y,z,[theta, alpha, leg, flag, ebox]Трехмерный график поверхности заданной неявно уравнением f x y z c строится с помощью команды)
Эти функции предназначены для построения поверхности, которая задается
набором граней. Т. е. если функция plot3d по входным данным сможет построить лишь отдельно стоящие друг от друга плоские грани, то plot3d2 (plot3d3) проинтерпретирует взаимное расположение этих граней в виде цельного геометрического тела.
Отличие функций plot3d2 и plot3d3 сходно с различием действия функций plot3d и plot3d1, а также surf и mesh. Plot3d2 строит поверхность, при этом выводит сетку и заливает все ячейки одним из цветов, по умолчанию — синим.
Plot3d также выводит сетку, однако оставляет все ячейки без заливки (т. е. белыми).
Функции param3d и param3d1
Для построения параметрической кривой в Scilab существует команда param3d:
param3d(x, y,z,[theta, alpha, leg, flag, ebox]).
Проиллюстрируем возможности функции param3d следующими примерам
Пример. Построить график линии, заданной параметрически
Прежде всего, определим диапазон и шаг изменения параметра t.
Затем обратимся к функции param3d, передав ей математические выражения функций y, y1 и y2, а также углы в градусах, под которыми наблюдатель будет видеть формируемый график — 45 и 35
Рис. 3. График параметрической линии, построенный функцией param3d
В Scilab, кроме построения объемных графиков, также реализована возможность создания пространственных моделей объектов. На практике часто возникает необходимость построения карт в изолиниях значений показателя, где X, Y — координаты задают положение конкретной изучаемой точки на плоскости, а Z-координата — зафиксированную величину показателя в этой точке. Точки с одинаковыми значениями показателя соединяют так называемые изолинии — линии одинаковых уровней значений исследуемой величины.
Для построения изолиний в Scilab существует функция contour. Обращение к ней имеет вид:
z — матрица действительных чисел – значения функции, описывающей поверхность Z(x, y);
nz — параметр, который устанавливает количество изолиний. Если nz — целое число, то в диапазоне между минимальным и максимальным значениям функции Z(x, y) через равные интервалы будут проведены nz изолиний. Если же задать nz как массив, то изолинии будут проводиться через все указанные в массиве значения;
theta, alpha — действительные числа, которые определяют в градусах сферические координаты угла обозрения наблюдателя. Попросту говоря, это
угол, под которым наблюдатель видит отображаемую поверхность;
leg — подписи координатных осей графика — символы, отделяемые знаком @. Например, ’X@Y@Z’.
flag — массив, состоящий из трех целочисленных параметров: [mode, type, box].
mode — устанавливает способ и место нанесения линий уровня
type — позволяет управлять масштабом графика (см. табл. 2), по умолчанию имеет значение 2;
box — определяет наличие рамки вокруг отображаемого графика (см. табл. 3). По умолчанию равен 4;
ebox — определяет границы области, в которую будет выводиться поверхность,
как вектор [xmin, xmax, ymin, ymax, zmin, zmax]. Этот параметр может использоваться только при значении параметра type=1;
zlev — математическое выражение, которое задает план (горизонтальную проекцию заданной поверхности) для построения изолиний. По умолчанию совпадает с уравнением, описывающим плоскость, — в этом случае может не указываться.
Следует отметить, что функции contour уравнение поверхности Z(x, y) удобнее передавать в качестве параметра как функцию, определенную пользователем.
Напомним, что функции в Scilab создаются при помощи команды deff:
где s1,s2. — список выходных параметров, т. е. переменных, которым будет присвоен конечный результат вычислений;
newfunction — имя создаваемой функции, оно будет использоваться для ее вызова;
e1,e2. — входные параметры.
Второй способ создания функции — это примение конструкции вида:
где lhs_arguments — список выходных параметров;
function_name — имя создаваемой функции;
rhs_arguments — входные параметры.
Таблица 4. Значения параметра mode
В Scilab существует функция contourf, которая не просто изображает поверхность на горизонтальной плоскости в виде изолиний, но и заливает интервалы между ними цветом, в зависимости от конкретного уровня значений показателя.
z — матрица действительных чисел — значения функции, описывающей поверхность Z(x, y);
nz — параметр, который устанавливает количество изолиний. Если nz — целое
число, то в диапазоне между минимальным и максимальным значениями
функции Z(x, y) через равные интервалы будут проведены nz изолиний.
Если же задать nz как массив, то изолинии будут проводиться через все
указанные в этом массиве значения;
style — массив того же размера, что и nz — устанавливает цвет для каждого
интервала уровней значений;
strf — строка, состоящая из трех чисел — «сsa». Здесь с (Captions) устанавливает режим отображения подписей графика (см. табл. 5); s (Scaling) —
режим масштабирования (см. табл. 6); a (Axes) — определяет положение
осей графика (см. табл. 7).
leg — легенда графика, подпись каждой из кривых — символы, отделяемые знаком @. По умолчанию — « ».
rect — вектор [xmin, ymin, xmax, ymax], который определяет границы изменения x и y координат графической области окна;
Таблица 5. Значение параметра с (Captions) строки strf
Таблица 6. Значение параметра s (Scaling) строки strf
Таблица 7. Значение параметра a (Axes) строки strf
nax — это массив из четырех значений [nx, Nx, ny, Ny], определяющий число основных и промежуточных делений координатных осей графика. Здесь Nx (Ny) — число основных делений c подписями под осью X (Y ); nx (ny) —число промежуточных делений.
Пример. Построение поверхности Z = sin(x) · cos(y) (функция
plot3d) и ее изображения на горизонтальной поверхности (функция
contourf) в одном графическом окне.
Для построения трехмерных гистограмм в Scilab используется функция
hist3d(f,[theta, alpha, leg, flag, ebox])
Здесь f — матрица (m : n), задающая гистограмму f(i, j) = F(x(i),y(j)).
Параметры theta, alpha, leg, flag, ebox управляют теми же свойствами, что и у функции plot3d.
Пример. Построить трехмерную гистограмму.
Для формирования матрицы входных данных воспользуемся командой rand.
Напомним, чтобы создать матрицу размером (m, n), необходимо использовать конструкцию rand(m, n)
Примеры построения некоторых трехмерных графиков в
Построить поверхность Z = sin(t) · cos(t), вырезать из графика области,
Сформируем массив значений параметра t, вычислим значения функции
Z =sin(t) · cos(t) и запишем их в массив Z.
В массив Z1 при помощи команды find запишем индексы тех элементов массива Z, чье модальное значение больше 0,5.
Далее мы будем использовать функцию %inf. Она предназначена для определения бесконечных элементов массива, поэтому запись z(z1)=%inf*z1 приведет к тому, что %inf*z1 объявит те элементы массива Z, чьи индексы содержатся в массиве Z1, бесконечным величинами.
При формировании прямоугольной сетки для построения графика в узлах сетки, смежных с бесконечными элементами массива Z, все значения, разумеется, будут равны бесконечности, и функция plot3d1 зальет соответствующие ячейки белым цветом. Таким образом, нам удастся создать эффект вырезания целых областей поверхности Z = sin(t) · cos(t)
Построение тора с узкой и широкой стороной при помощи функции plot3d2
Рис. 6. Тор с узкой и широкой стороной
У каждого индивидуальный вариант, уточняйте у преподавателя.
1. Построить ракушкообразный график.
2. Выполнить построение двух поверхностей и в пределах . Установите переменный цвет поверхностей как функцию .
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции .
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить кольцо Мебиуса.
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить тор с узкой и широкой стороной при помощи функции plot3d2.
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции .
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Построить деформированный тор при помощи функции plot3d2.
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции .
2. Выполнить построение двух поверхностей и в пределах .
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Постройте трехмерный график функции
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить ракушкообразный график.
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить ленту Мебиуса при помощи функции plot3d2.
2. Построить шар
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить полый шар произвольного размера
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить деформированный тор при помощи функции plot3d2.
2. Построить поверхность вместе с линиями уровня.
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
1. Построить ленту Мебиуса при помощи функции plot3d2.
2. Постройте трехмерный график функция двух переменных ,
Проведите заливку поверхности. Поэкспериментируйте с разными цветовыми схемами и представлениями заливки и линий и выберите наиболее понравившуюся.
🌟 Видео
Математика Без Ху!ни. Производная функции, заданной параметрически.Скачать