Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
ezmax
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. Note que isto pode ser útil para se visualizar as curvas de nívelzmin
ezmax
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 sertheta
,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
ouplot3d1
).- 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 atype=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 atype=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
emflag
é 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]);
Autor
J.Ph.C.
<< 3d_plot | 3d_plot | eval3d >> |