- •Программное обеспечение управления качеством и базы и банки данных matlab
- •Matlab в роли суперкалькулятора
- •Основные арифметичесике операторы
- •Специальные символы
- •Начальное значение:шаг:конечное значение
- •Форматы чисел
- •Перестановки элементов матриц
- •Cуммирование элементов
- •Численное интегрирование
- •Решение систем линейных уравнений
- •Объединение массивов
- •Нахождение средних, срединных значений массива и стандартных отклонний
- •Вычисление коэффициентов корреляции
- •Вычисление матрицы ковариации
- •Основы программирования
- •Условный оператор
- •Циклы типа for…end
- •Графики в логарифмическом и полулогарифмическом масштабе
- •Столбцовые диаграммы
- •Построение гистограммы
- •Графики с зонами погрешностей
- •Графики в полярной системе координат
- •Контурные графики
- •Создание массивов данных для трехмерной графики
- •Сетчатые 3d-графики с окраской и с проекциями
- •Построение поверхности с окраской и проекциями
- •Построение освещенной поверхности
- •Трехмерные контурные графики
- •Ввод текста в любое место графика
- •Вывод пояснений
- •Управление свойствами осей графиков
Построение освещенной поверхности
Наиболее реалистичный вид имеют графики трехмерных поверхностей, в которых ими-тируется освещение от точечного источника света, расположенного в заданном месте коорди-натной системы. Графики имитируют оптические эффекты рассеивания, отражения и зеркаль-ного отражения света. Для получения таких графиков используется команда surfl:
surfl(. . .) аналогична команде surf(. . .), но строит график трехмерной поверхности с под-светкой от источника света;
surfl(X, Y, Z, S) строит поверхность с подсветкой от источника света, положение которо-го в системе декартовых координат задается вектором S=[Sx, Sy, Sz]ж
surfl(. . ., ‘cdata’) при построении имитирует эффект отраженияж
surfl(X, Y, Z, S, К) задает построение трехмерной поверхности с параметрами, заданны-ми вектором K=[ka, kd, ks, spread], где ka – коэффициент фоновой подсветки, kd – коэф-фициент диффузного отражения, ks – коэффициент зеркального отражения, spread – ко-эффициент глянцевитости.
Ниже представлен пример применения команды surfl:
>
>> % освещенной точечным источником
>> [X, Y]=meshgrid([-3:0.15:3]);
>> Z=sin(X)./(X.^2+Y.^2+0.3);
>> surfl(X, Y, Z)
>> colormap(gray)
>> shading interp
>> colorbar
Трехмерные контурные графики
Т
contour3(. . .) имеет синтаксис, аналогичный команде contour(. . .), но строит линии рав-ного уровня в аксонометрии с использова-нием фнкциональной окраски (окраска меня-ется вдоль оси Z).
Например:
>> contour3(peaks(20));
>> colormap(gray)
л а б о р а т о р н а я р а б о т а № 12
При помощи команды plot3 постройте график функции трех переменных.
Постройте эту же 3D-поверхность крестиками.
Получите сетчатый график с окраской.
Объедините полученный график с контурным графиком ее проекции на плоскость, расположенным под поверхностью.
Постройте трехмерную поверхность с окраской.
Задайте окраску оттенками серого цвета.
Устраните излбражение сетки. и задайте интерполяцию для оттенков цвета объемной поверхности.
Задайте дополнительное построение контурного графика проекции фигуры на опорную плоскость.
Постройте освещенную трехмерную поверхность.
Получите трехмерный контурный график.
Л е к ц и я № 25, 26
Графика MATLAВ.
Оформление и комбинирование графиков
Установка титульной надписи
После того, как график уже построен, MATLAB позволяет выполнить его форматирова-ние или оформление в нужном виде. Соответствующие этому средства описаны ниже. Так, для установки над графиком титульной надписи используется следующая команда:
title(‘string’) – установка на двухмерных и трехмерных графиках титульной надписи, за-данной строковой константой string.
Установка осевых надписей
Для установки надписей возле осей х, у и z используются следующие команды
xlabel(‘string’)
ylabel(‘string’)
zlabel(‘string’)
Соответствующая надпись задается символьной константой или переменной ‘string’. Пример установки титульной надписи и надписей по осям графиков приводится ниже
>> [x,y]=meshgrid([-3:0.1:3]);
>> z=sin(x)./(x.^2+y.^2+0.3);
>> surfl(x,y,z)
>> colormap(gray)
>> shading interp
>> colorbar
>> title('График трехмерной поверхности')
>> xlabel('Ось х')
>> ylabel('Ось y')
>> zlabel('Ось z')
Используемые надписи делают рисунок более наглядным.
