1.6.4. Построение графиков поверхностей
Для построения графиков функции z = f(x, y) используется команды plot3 ( … ), которая является аналогом команды plot ( … ). Она строит аксонометрическое изображение трехмерной поверхности и имеет следующие формы:
рlot3 (х, у, z) – строит массив точек, представленных векторами х, у, z и соединяет их отрезками прямых.
рlot3 (X, Y, Z), где X, Y, Z – три матрицы одинакового размера, строит точки с координатами X(i, : ), Y(i, : ) и Z(i, : ) и соединяет их отрезками прямых. Пример построения графика трехмерной поверхности Z = x2 + y2:
>> [X Y]=meshgrid([-3:0.15:3]);
>> Z=X.^2 + Y.^2 ;
>> plot3(X,Y,Z)
>> grid on
рlot3 (X, Y, Z, S) – обеспечивает построение графика поверхности, но со спецификацией стиля линий и точек, соответствующей спецификации команды plot.
Построение графиков поверхностей
plot3(X,Y,Z), где X, Y и Z — три матрицы одинакового размера, строит точки с координатами X(i.:), Y(i,:) и Z(i,:) и соединяет их отрезками прямых.
>> x=-3:0.15;3;
>> y=-3:0.15:3;
>> z=x.^2+y.^2;
>> plot3(x,y,z);
>> [x,y]=meshgrid(x,y);
>> plot3(x,y,z);
MESHGRID
>> [x,y]=meshgrid(-5:0.1:5);
>> z=x.*sin(x+y);
>> meshc(x,y,z);
Here are some examples of surface plots in MATLAB.
Contents
Mesh Plot of Peaks
Surface Plot of Peaks
Surface Plot (with Shading) of Peaks
Contour Plot of Peaks
Quiver
Slice
Mesh Plot of Peaks
z=peaks(25);
mesh(z);
colormap(hsv)
Surface Plot of Peaks
z=peaks(25);
surf(z);
colormap(jet);
Surface Plot (with Shading) of Peaks
z=peaks(25);
surfl(z);
shading interp;
colormap(pink);
Contour Plot of Peaks
z=peaks(25);
contour(z,16);
colormap(hsv)
Quiver
x = -2:.2:2;
y = -1:.2:1;
[xx,yy] = meshgrid(x,y);
zz = xx.*exp(-xx.^2-yy.^2);
[px,py] = gradient(zz,.2,.2);
quiver(x,y,px,py,2);
Slice
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0];
slice(x,y,z,v,xslice,yslice,zslice)
colormap hsv
3-D Surface Plots
>>graf3d
Ввод текста на график с помощью мыши
Для маркировки графиков можно ввести любой текст с помощью мыши командой gtext. Команда помещается после команды plot.
gtext ( string ) – выводит на график перемещаемый мышкой маркер в виде крестика. Установив маркер в нужное место и щелкнув кнопкой мыши, получим текст на графике.
>> x = 0.2*pi:0.01*pi:2*pi;
>> y1 = sin(x); y2=sin(x).^2; y3=sin(x).^3;
>> plot(x,y1)
>> gtext('It is testing')
>> grid
Задание
1. Задать вектор x с помощью оператора “ : “ или непосредственно. Сфор-мировать матрицу y с двумя столбцами, каждый из которых представляет фу-нкцию x. На одном графике построить два графика : y1(x) и y2(x). Построить график заданного вектора в зависимости от индекса элемента.
2. Повторить задание п.1 выбрав цвет линии, тип линии, тип точек. Цвет линии – Желтый, Фиолетовый, Голубой, Красный, Зеленый, Синий, Белый, Черный; тип линии – сплошная, двойной пунктир, штрих-пунктир, штрихо-вая; тип точки – точка; окружность; крест; плюс; звуздочка; квадрат; ромб; треугольнок (вниз); треугольник (вверх); треугольник (влево); треугольник (вправо); пятиугольник; шестиугольник.
3. Задать функцию вектора x. Построить столбцовую диаграмму функции с помощью оператора bar.
Задать функцию вектора x. Построить ступенчатую функцию с помощью оператора stairs.
Задать функцию вектора x. Сформировать функцию-ошибку с помощью случайной матрицы rand, имеющей размерность вектора x (size(x)). Построить график функции-ошибки с помощью оператора errobar.
Построить график функции в полярных координатах.
Построить график в логарифмических (полулогарифмических) координатах.
Построение гистограммы. Задать вектор x. Сформировать случайный вектор с помощью оператора randn. Построить гистограмму с помощью функции hist(y,x).
