кривые уровней поверхности на двумерном графике
contour2d(x, y, z, nz, [style, strf, leg, rect, nax]) contour2d(x, y, z, nz, <opt_args>)
два вещественных вектора-строки размером
n1
и n2
: сетка.
вещественная матрица размером (n1,n2)
,
значение функции в сетке, либо Scilab-функция, которая
определяет поверхность z=f(x,y)
.
значения уровней или число уровней.
nz
- целое число
его значение указывает количество кривых
уровня равномерно распределённых от zmin
до zmax
, как показано
ниже:
z= zmin + (1:nz)*(zmax-zmin)/(nz+1)
![]() | Заметьте, что уровни zmin
и zmax не рисуются
(вообще, они сводятся в точку), но их можно
добавить следующим образом: |
nz
- вектор
nz(i)
указывает значение
i
-той кривой уровня.
Это представляет последовательность инструкций
key1=value1, key2=value2
,... где
key1
, key2
,...
могут иметь одно из следующих значений:
style
, leg
,
rect
, nax
,
strf
или axesflag
и frameflag
(см. plot2d)
см. plot2d. Аргумент
style
указывает стили штриха или
цвета, которые требуется использовать для кривых уровня.
Он должен быть того же самого размера, что и количество
уровней.
contour2d
рисует кривые уровней поверхности
z=f(x,y)
на двумерном графике. Значения
f(x,y)
указываются в матрице
z
в точках сетки, определённой через
x
и y
.
Вы можете изменить формат чисел с плавающей запятой, печатаемых на
уровнях, с помощью xset("fpf",string)
, где
string
указывает формат в формате C-синтаксиса
(например, string="%.3f"
). Используйте
string=""
для переключения обратно в формат по
умолчанию и используйте string=" "
для подавления
печати. Это последняя возможность очень полезна в сочетании с legends для отображения номеров уровней в
легенде, а не прямо на кривых уровней, как обычно (см. раздел
"Примеры").
Необязательные аргументы style
,
strf
, leg
,
rect
, nax
могут быть переданы
в виде последовательности инструкций key1=value1,
key2=value2
,... где ключи key
могут
быть style
, strf
,
leg
, rect
,
nax
. В этом случае порядок не имеет особого значения.
Используйте функцию contour
для рисования кривых уровней на трёхмерной поверхности.
contour2d(1:10,1:10,rand(10,10),5,rect=[0,0,11,11]) | ![]() | ![]() |
clf() // Изменение формата печати уровней xset("fpf","%.2f") contour2d(1:10,1:10,rand(10,10),5,rect=[0,0,11,11]) | ![]() | ![]() |
// Пример с номерами уровней, печатаемых в легенде. // Предупреждение: есть много уловок... x = linspace(0,4*%pi,80); z = cos(x')*cos(x); clf(); f=gcf(); xset("fpf"," ") // уловка 1: подразумевается, что номера уровней // не рисуются на кривых уровней f.color_map=jetcolormap(7); // уловка 2: чтобы иметь возможность поместить легенду справа без // наложения на кривые уровней, используйте rect с достаточно // большим значением xmax contour2d(x,x,z,-0.75:0.25:0.75,frameflag=3,rect=[0,0,5*%pi,4*%pi]) // уловка 3: используйте legends (заметьте, что наиболее практичная функция // легенды не будет работать, когда один из уровней формируется // двумя кривыми) legends(string(-0.75:0.25:0.75),1:7,"lr"); xtitle("Некоторые уровни кривых функции cos(x)cos(y)") | ![]() | ![]() |