
- •Введение
- •Основы программирования в среде пакета matlab Типы данных
- •Имена переменных и функций
- •Операция присваивания
- •Генерация обычных векторов и матриц
- •Операции над данными Стандартные функции Matlab
- •Манипуляции с матрицами
- •Операторы языка Matlab
- •Основные логические функции
- •Оператор выбора
- •Формирование собственных m-файлов пользователя
- •Глобальные переменные
- •Графические средства пакета matlab
- •Двухмерная графика
- •Трехмерная графика
Трехмерная графика
plot3(x,y,u) – используется для построения графика функции вида u(t) = f(x(t),y(t)) (при построении x, y, u – векторы одинаковой размерности). Возможен дополнительный параметр, аналогично plot.
» t=0:pi/100:6*pi;
» plot3(sin(t),cos(t),t)
Mesh-графика
Используется для визуализации матриц, слишком больших для вывода их в численном виде, а также для построения графиков функций двух переменных вида A=f(i,j) или z=f(x,y).
Первым шагом при построении графика функции двух переменных z=f(x,y), заданной таблично, является генерация соответствующих матриц X, Y с повторяющимися строками и столбцами с помощью функции meshgrid(x,y)
;
с последующим вычислением элементов матрицы Z:
.
После этого с помощью функции mesh(Z) в изометрической проекции строятся n графиков, использующих столбцы матрицы Z, и m графиков, использующих строки матрицы Z. В результате получается поверхность в виде сетки. Невидимые линии (участки графика на заднем плане, скрытые участком графика на переднем плане) не отображаются. По осям абсцисс и ординат по умолчанию откладываются соответствующие индексы матрицы Z по i и j, а при указании в качестве первых двух параметров векторов x и y – их значения.
» x=-8:.5:8; y=x;
» [X,Y]=meshgrid(x,y);
» R=sqrt(X.^2+Y.^2)+eps; % для предотвращения деления на нуль
» Z=sin(R)./R;
» mesh(Z) % Возможные варианты: mesh(x,y,Z) mesh(X,Y,Z)
Цвет участков графиков выбирается автоматически согласно палитре: участки сетки графика, на которых функция z(x,y) принимает бо’льшие значения, изображаются более теплыми цветами.
Примерно такие же графики можно получить с помощью последовательности операций:
» figure, plot3(X,Y,Z), hold on, plot3(Y,X,Z), grid on
Отличие будет состоять в следующем: 1)отображаются невидимые линии; 2) по осям абсцисс и ординат откладываются значения переменных x и y; 3) каждая выведенная линия будет иметь новый цвет (аналогично plot).
Дополнительно существует функция surf(), формат и назначение которой аналогичны функции mesh(); отличие заключается в том, что вместо сетки выводятся участки поверхностей (то есть, "клетки" закрашены).
Contour-графика
Используется для построения линий одного уровня (например, на географических картах). Графики могут быть двухмерными (функция contour) и трехмерными (contour3). Необходимо предварительное формирование матриц X, Y, Z, например, аналогично тому, как это выполнено выше.
» figure, contour(Z), grid on
» figure, contour3(Z)
По осям абсцисс и ординат в этих случаях откладываются соответствующие индексы матрицы Z. Для того, чтобы градуировка осей выполнялась в соответствии со значениями x и y, а срез функции выполнялся в n равноудаленных друг от друга уровнях, используются форматы вызова:
» figure, contour(X,Y,Z,n,linestyle)
» figure, contour3(X,Y,Z,n,linestyle)
Дополнительно может быть также указан стиль линий (см. plot).
Для задания секущих уровней вместо параметра n может быть указан вектор, содержащий соответствующие значения функции.
В трехмерной графике возможно использование всех вспомогательных функций графики, описанных выше.
plot3 mesh
mesh с помощью plot3 surf
contour contour3