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 > 3d_plot > contour

contour

curvas de nível em uma superfície 3d

Seqüência de Chamamento

contour(x,y,z,nz,[theta,alpha,leg,flag,ebox,zlev])
contour(x,y,z,nz,<opt_args>)

Parâmetros

x,y

vetores de reais de tamanhos n1 e n2.

z

matriz de reais de tamanho (n1,n2), os valores da função sobre o gride 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. Note que isto pode ser útil para se visualizar as curvas de nível zmin e zmax para se adicionar uma tolerância eps: nz=[zmin+%eps,..,zmax-%eps].

<opt_args>

uma seqüência de declarações key1=value1, key2=value2, ... onde keys podem ser theta,alpha,leg,flag, ebox,zlev (ver abaixo). Neste caso, a ordem não possui significado especial.

theta, alpha

valores reais de dados em graus, as coordenadas esféricas do ponto de observação.

leg

string definindo os rótulos para cada eixo com @ como um separador de campos, por exemplo "X@Y@Z".

flag

um vetor real de tamanho três. flag=[mode,type,box].

mode

string de representação de modo.

mode=0:

as curvas são desenhadas na superfície definida por (x,y,z).

mode=1:

as curvas são desenhadas em um esboço 3d e sobre o plano definido pela equação z=zlev.

mode=2:

as curvas são desenhadas em um esboço 2D.

type

um inteiro (tipo de escala)

type=0

o esboço é feito utilizando-se a escala 3d corrente (definida por uma chamada anterior a param3d, plot3d, contour ou plot3d1).

type=1

re-escala automaticamente caixas 3d com relação de aspecto extrema, as fronteiras são especificadas pelo valor do argumento opcional ebox.

type=2

re-escala automaticamente caixas 3d com relação de aspecto extrema, as fronteiras são computadas utilizando-se dados fornecidos.

type=3

fronteiras 3d isométricas com fronteiras da caixa dadas por ebox, de modo semelhante a type=1

type=4

fronteiras 3d isométricas derivadas dos dados, de modo semelhante a type=2

type=5

fronteiras 3d isométricas expandidas com fronteiras fornecidas por ebox, de modo semelhante a type=1

type=6

fronteiras 3d isométricas expandidas derivadas dos dados, de modo semelhante a type=2

box

um inteiro (moldura ao redor do esboço).

box=0

nada é desenhado ao redor do esboço.

box=1

não implementado (é como box=0).

box=2

apenas os eixos atrás da superfície são desenhados.

box=3

uma caixa cercando a superfície é desenhada e legendas são adicionadas.

box=4

uma caixa cercando a superfície é desenhada e legendas e eixos são adicionados.

ebox

usado quando type em flag é 1. Especifica as fronteiras do esboço através do vetor [xmin,xmax,ymin,ymax,zmin,zmax].

zlev

número real.

Descrição

contour desenha curvas de nível de uma superfície z= f(x,y). As curvas de nível são desenhadas sobre uma superfície 3d. Os argumentos opcionais são os mesmos que os da função plot3d (exceto por zlev)e seus significados são os mesmos. Eles controlam o desenho das curva de nível em um esboço 3d. Apenas flag(1)=mode tem significado especial.

mode=0

as curvas são desenhadas na superfície definida por (x,y,z).

mode=1

as curvas são desenhadas em um esboço 3d e sobre o plano definido pela equação z=zlev.

mode=2

as curvas são desenhadas em um esboço 2D.

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.

Geralmente é usado contour2d para se esboçar curvas de nível em um esboço 2d.

Entre com o comando contour() para visualizar uma demonstração.

Exemplos

t=linspace(-%pi,%pi,30);
function z=my_surface(x, y),z=x*sin(x)^2*cos(y),endfunction

contour(t,t,my_surface,10)
// mudando o formato da impressão dos níveis
xset("fpf","%.1f")
clf()
contour(t,t,my_surface,10)
// 3D
clf()
z=feval(t,t,my_surface);
plot3d(t,t,z);contour(t,t,z+0.2*abs(z),20,flag=[0 2 4]);

Ver Também

  • contour2d — curvas de nível de uma superfície em um esboço 2d
  • plot3d — esboço 3d de uma superfície

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