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 - 日本語

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Ajuda Scilab >> Biblioteca de Gráficos > 2d_plot > contour2d

contour2d

curvas de nível de uma superfície em um esboço 2d

Seqüência de Chamamento

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

Parâmetros

x,y

vetores de reais de tamanhos n1 e n2: o grid.

z

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).

nz

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:

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

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

[im,jm] = find(z == zmin); // ou zmax
plot2d(x(im)',y(jm)',-9,"000")

Se nz for um vetor, nz(i) fornece o valor da i-ésima curva de nível.

<opt_args>

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)

style,strf,leg,rect,nax

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.

Descrição

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.

Exemplos

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)")

Autor

J.Ph.C.

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Mar 03 11:00:35 CET 2011