кривые уровней поверхности на двумерном графике
contour2d(x, y, z, nz, [style, strf, leg, rect, nax, fpf]) 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 указывает стили штриха или
цвета, которые требуется использовать для кривых уровня.
Он должен быть того же самого размера, что и количество
уровней.
You can change the format of the floating point number printed on
the levels where fpf is the format in C format syntax
(for example fpf="%.3f").
Set fpf to " " implies that the level are not drawn on the level curves.
If not given, the default format is "%.3g".
contour2d рисует кривые уровней поверхности
z=f(x,y) на двумерном графике. Значения
f(x,y) указываются в матрице
z в точках сетки, определённой через
x и y.
Необязательные аргументы 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() // Изменение формата печати уровней contour2d(1:10,1:10,rand(10,10),5,rect=[0,0,11,11],fpf="%.2f") | ![]() | ![]() |
// Пример с номерами уровней, печатаемых в легенде. // Предупреждение: есть много уловок... x = linspace(0,4*%pi,80); z = cos(x')*cos(x); clf(); f=gcf(); // уловка 1: fpf=" " подразумевается, что номера уровней // не рисуются на кривых уровней f.color_map=jet(7); // уловка 2: чтобы иметь возможность поместить легенду справа без // наложения на кривые уровней, используйте rect с достаточно // большим значением xmax contour2d(x,x,z,-0.75:0.25:0.75,frameflag=3,rect=[0,0,5*%pi,4*%pi],fpf=" ") // уловка 3: используйте legends (заметьте, что наиболее практичная функция // легенды не будет работать, когда один из уровней формируется // двумя кривыми) legends(string(-0.75:0.25:0.75),1:7,"lr"); xtitle("Некоторые уровни кривых функции cos(x)cos(y)") | ![]() | ![]() |
