curvas de nível de uma superfície em um esboço 2d
contour2d(x,y,z,nz,[style,strf,leg,rect,nax]) contour2d(x,y,z,nz,<opt_args>)
vetores de reais de tamanhos n1 e n2: o grid.
matriz de reais de tamanho (n1,n2), os valores da função sobre
o grid ou uma função Scilab que define uma superfície
z=f(x,y)
.
os valores de nível ou o número de níveis.
Se nz
for um inteiro, seu valor
fornece o número de níveis igualmente espaçados de zmin a zmax
como segue:
Note que os níveis zmin
e
zmax
não são desenhados (genericamente eles
são reduzidos a pontos) mas podem ser adicionados através
de
Se nz
for um vetor,
nz(i)
fornece o valor da i-ésima curva de
nível.
representa uma seqüência de declarações
key1=value1,key2=value2
,... onde
key1
, key2,...
pode ser um dos
seguintes: style, leg, rect, nax, strf ou axesflag e frameflag (ver
plot2d)
ver plot2d. O argumento
style
fornece os estilos de tracejado ou cores
que serão usadas para as curvas de nível. Deve ter o mesmo tamanho
que o número de níveis.
contour2d
desenha curvas de nível de uma
superfície z=f(x,y)
em um esboço 2d. Os valores de
f(x,y)
são dados pela matriz z
nos
pontos de grid definidos por por x
e
y
.
Você pode modificar o formato dos pontos flutuantes impressos sobre
os níveis utilizando xset("fpf",string)
onde
string
fornece o formato em na sintaxe de formato C
(por exemplo string="%.3f"
). Use
string=""
para voltar ao formato padrão e use
string=" "
para suprimir a impressão. Este último
recurso é útil em conjunção com legends
para exibir os números de nível em uma legenda e não diretamente em curvas
de nível como de uso (ver Exemplos).
Os argumentos opcionais style,strf,leg,rect,nax
,
podem ser passados através de uma seqüência de declarações
key1=value1, key2=value2
, ... onde podem ser
style
,strf
,leg
,rect
,nax
.
Neste caso, a ordem não tem significado especial.
Use contour
para esboçar curvas de nível em uma
superfície 3d.
contour2d(1:10,1:10,rand(10,10),5,rect=[0,0,11,11]) // mudando o formato de impressão dos níveis xset("fpf","%.2f") clf() contour2d(1:10,1:10,rand(10,10),5,rect=[0,0,11,11]) // agora, um exemplo com números de níveis desenhados em uma legenda // Cuidado, há alguns truques aqui... x = linspace(0,4*%pi,80); z = cos(x')*cos(x); clf(); f=gcf(); xset("fpf"," ") // truque 1: isto faz com que alguns números de níveis não sejam // impressos sobre as curvas de nível f.color_map=jetcolormap(7); // truque 2: para fazer com que se possa colocar a legenda à direita sem // sem interferir com as curvas de nível use rect com um valor xmax // grande o suficiente contour2d(x,x,z,-0.75:0.25:0.75,frameflag=3,rect=[0,0,5*%pi,4*%pi]) // truque 3: use legends (note que a função mais prática legend // não funcionará quando um dos níveis for formado por duas curvas) legends(string(-0.75:0.25:0.75),1:7,"lr"); xtitle("Algumas curvas de nível da função cos(x)cos(y)") | ![]() | ![]() |