Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Графики > 2d_plot > contour2d

contour2d

кривые уровней поверхности на двумерном графике

Последовательность вызова

contour2d(x, y, z, nz, [style, strf, leg, rect, nax])
contour2d(x, y, z, nz, <opt_args>)

Аргументы

x, y

два вещественных вектора-строки размером n1 и n2: сетка.

z

вещественная матрица размером (n1,n2), значение функции в сетке, либо Scilab-функция, которая определяет поверхность z=f(x,y).

nz

значения уровней или число уровней.

Если nz - целое число

его значение указывает количество кривых уровня равномерно распределённых от zmin до zmax, как показано ниже:

z= zmin + (1:nz)*(zmax-zmin)/(nz+1)

Заметьте, что уровни zmin и zmax не рисуются (вообще, они сводятся в точку), но их можно добавить следующим образом:

[im,jm] = find(z == zmin); // или zmax
plot2d(x(im)',y(jm)',-9,"000")
Если nz - вектор

nz(i) указывает значение i-той кривой уровня.

<opt_args>

Это представляет последовательность инструкций key1=value1, key2=value2,... где key1, key2,... могут иметь одно из следующих значений: style, leg, rect, nax, strf или axesflag и frameflag (см. plot2d)

style, strf, leg, rect, nax

см. 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)")

Смотрите также

  • contour — level curves on a 3D surface
  • contour2di — вычисляет кривые уровней поверхности на двумерном графике
  • plot2d — 2D plot
Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:48:32 CEST 2016