220
Пример 23
.
15
. Построить поверхность
Z
=
sin
(
x
) ·
cos
(
y
) и вывести
изолинии в одном графическом окне (рис. 23.26).
Введем параметр
t
и сформируем массив его значений.
Создадим функцию
Surf
, обратившись к команде
deff
.
С помощью команды
rect
установим границы области построения
графика в графическом окне для того, чтобы стало возможным совместить и
поверхность, и спроецированные на горизонтальную плоскость изолинии
поверхности.
Воспользуемся командой
feval
, чтобы сформировать матрицу значений
функции
z
ij
=
f
(
x
i
, y
j
).С помощью функции
plot3d
строим график поверхности
Z
=
sin
(
x
)·
cos
(
y
), устанавливая углы обзора наблюдателя, подписи для
координатных осей.
Определяем и массив
flag
[2,1,4]: 2 – цвет графика – синий, 1 – границы
области построения графика определяются вручную (далее указан параметр
rect
, заданный выше), 4 – выводятся все оси и рамка вокруг графика.
Затем формируем изолинии, обратившись к функции
contour
, также
устанавливаем углы обзора наблюдателя, подписи координатных осей, число
формируемых изолиний 10 и значения массива
flag
[1,1,4]: 1 – режим вывода
изолиний на отдельно построенный план, который задается тем же уравнением,
что и поверхность (
Z
=
sin
(
x
) ·
cos
(
y
)), 1 – границы области построения графики
определяются вручную (далее указан параметр rect, заданный выше), 4 –
выводятся все оси и рамка вокруг графика. Число −5 устанавливает положение
горизонтальной плоскости с изолиниями –5 единиц ниже графика поверхности.
С помощью команды
xtitle
выведем подпись для графика.
-->t=%pi*(-10:10)/10;
-->deff('[z]=Surf(x,y)','z=sin(x)*cos(y)');
-->rect=[-%pi,%pi,-%pi,%pi,-5,1];
-->z=feval(t,t,Surf);
-->plot3d(t,t,z,35,45,'X@Y@Z',[2,1,4],rect);
-->contour(t,t,z,10,35,45,'X@Y@Z',[1,1,4],rect, -5);