Sei sulla pagina 1di 5

ROTEIRO Introdução ao Scilab

PRÁTICA Código – Nome do componente curricular


Engenharia Ambiental
01
Professor(a): Juan Martin Carrizo Turma: 2008.1

Introdução ao Scilab
Scilab pode ser usado como calculadora através da simples digitação da fórmula a
calcular. Note que a razão da circunferência em relação ao diâmetro é representada por
%pi:

-->2.86+exp(-2.33)*sin(2*%pi/5)
ans =

2.9525338

O último resultado, a menos que tenha sido designado a uma variável, fica estocada
temporariamente numa variável 'ans', por exemplo:

-->ans
ans =

2.9525338

Scilab fornece muitas funções matemáticas para cálculos, por exemplo, abs (valor
absoluto), sin, cos, tan, funções hiperbólicas, etc.

-->abs(3.5+log(2.3)/sinh(-1.22))
ans =

2.9612416

Os valores podem ser designados a uma variável usando o sinal "=":

-->D=2.5,V=0.65
D =

2.5
V =

.65

Com esses valores designados para D e V nós podemos calcular a variável Q dada por:

-->Q = %pi*D^2*V/4
Q =

3.19068

Funções definidas pelo usuário


Funções definidas pelo usuário no Scilab podem ser definidas em uma linha de entrada,
como segue:

-->deff('[y]=f(x)','y=x^3+1')
Rev.0.1 Data Rev.: 10.03.2008 [1/5]
ROTEIRO Introdução ao Scilab
PRÁTICA Código – Nome do componente curricular
Engenharia Ambiental
01
Professor(a): Juan Martin Carrizo Turma: 2008.1

Note que a definição consiste de duas partes, a primeira representando a chamada de


função, isto é, '[y]=f(x)', e a segunda, 'y = x^3+1', representando a avaliação da função. Na
chamada de função, [y]=f(x), o lado esquerdo da expressão fica entre colchetes para
indicar que é opcional. Em outras palavras, você não precisa fazer uma declaração para
avaliar a função f(x).

Para ver a chamada geral para a função, simplesmente digite o nome da função:

-->f
f =

[y]=f(x)

Avaliando para x = 2.3:

-->f(2.3)
ans =

13.167

Uma avaliação pode ser combinada com uma declaração:

-->y1 = f(2.3)
y1 =

13.167

Uso do operador dois pontos (:)


O operador dois pontos (:) é usado para gerar uma seqüência de nomes. Se n1
representa o valor inicial da seqüência, n2 o valor final da seqüência, e Dn o incremento
na seqüência, então a seqüência n1, n1+Dn, n1+2*Dn, ..., é gerada usando:

n1:Dn:n2

por exemplo, com n1 = 1.2, Dn = 0.2, e n2 = 2.4 nós podemos gerar a seguinte
seqüência:

-->1.2:0.2:2.4
ans =

! 1.2 1.4 1.6 1.8 2. 2.2 2.4 !

Uma seqüência é basicamente um vetor linha. Na seguinte linha de comando, a


seqüência resultante gerada pelo operador (:) é designada para uma variável x:

-->x = [1.2:0.2:2.4]
x =
Rev.0.1 Data Rev.: 10.03.2008 [2/5]
ROTEIRO Introdução ao Scilab
PRÁTICA Código – Nome do componente curricular
Engenharia Ambiental
01
Professor(a): Juan Martin Carrizo Turma: 2008.1

! 1.2 1.4 1.6 1.8 2. 2.2 2.4 !

Funções definidas pelo usuário (assim como funções pré-definidas do Scilab) podem usar
um vetor como seu argumento. Por exemplo, para a função f(x) definida acima, nós
podemos produzir o vetor y, como segue:

-->y = f(x)
y =

! 2.728 3.744 5.096 6.832 9. 11.648 14.824 !

Plotando dois vetores (x,y)


Dados dois vetores (linha ou coluna) de números gerados por uma função ou
simplesmente digitados, você pode usar a função ‘plot’ para produzir um gráfico de y - vs
– x, como segue:

-->plot(x,y)

Um segundo exemplo de plotagem é mostrado a seguir. Primeiro, nós definimos uma


função f1(x):

-->deff('[y]=f1(x)','y=sin(x)+2.5*sin(2*x)')

Em seguida, nós geramos um vetor de valores de x com n1 = -%pi, Dn = %pi/100,


e n2 = %pi:

-->x = [-%pi:%pi/100:%pi]
x =

column 1 to 5

! - 3.1415927 - 3.1101767 - 3.0787608 - 3.0473449 - 3.0159289 !

column 6 to 10

! - 2.984513 - 2.9530971 - 2.9216812 - 2.8902652 - 2.8588493 !

column 11 to 15

! - 2.8274334 - 2.7960175 - 2.7646015 - 2.7331856 - 2.7017697 !

column 16 to 20

! - 2.6703538 - 2.6389378 - 2.6075219 - 2.576106 - 2.54469 !

column 21 to 25
Rev.0.1 Data Rev.: 10.03.2008 [3/5]
ROTEIRO Introdução ao Scilab
PRÁTICA Código – Nome do componente curricular
Engenharia Ambiental
01
Professor(a): Juan Martin Carrizo Turma: 2008.1

! - 2.5132741 - 2.4818582 - 2.4504423 - 2.4190263 - 2.3876104 !

column 26 to 30

para evitar a produção de saída excessiva você pode finalizar o comando com ponto-e-
vírgula (;), por exemplo,

-->x = [-%pi:%pi/100:%pi];

Como mostrado, o ponto-e-vírgula no final do comando suprime a saída do comando. Em


seguida, nós geramos valores de y usando x como argumento da função f1, e usamos
‘plot’ para plotar y-vs-x:

-->y = f1(x);

-->plot(x,y)

A geração dos vetores x e y, e o gráfico, pode ser feita em uma simples linha, por
exemplo:

-->x = [-%pi:%pi/10:%pi]; y = f1(x); plot(x,y)

Os mesmos comandos são repetidos com um incremento maior em x:

-->x = [-%pi:%pi/2:%pi]; y = f1(x); plot(x,y)

NOTA: os seguintes comandos são válidos somente se a biblioteca ‘plotlib’ estiver


instalada. Para encontrar mais informações sobre ‘plotlib’ visite o website:

http://www.engineering.usu.edu/cee/faculty/gurro/plotlib.htm

A seguinte chamada para ‘plot’ produz um gráfico dos pontos usando cruzes como
símbolos do gráfico:

-->plot(x,y,'+')

A função ‘xtitle’ pode ser usada para adicionar um título de gráfico (‘my plot’), e rótulos
para os eixos x e y:

-->xtitle('my plot','x','y')

Outras opções para ‘plot’ são mostradas a seguir. Esta chamada para ‘plot’ produz um
gráfico combinando cruzes para os pontos e uma linha contínua:

-->plot(x,y,'+-')

Rev.0.1 Data Rev.: 10.03.2008 [4/5]


ROTEIRO Introdução ao Scilab
PRÁTICA Código – Nome do componente curricular
Engenharia Ambiental
01
Professor(a): Juan Martin Carrizo Turma: 2008.1

Gráficos tri-dimensionais
Para gerar um gráfico tri-dimensional, primeiro nós germaos vetores de valores das
variáveis independentes

-->x = [-5:0.25:5]; y = [-5:0.25:5];

Em seguida, nós definimos a função z = f(x,y):

-->deff('[z]=f(x,y)','z=x^2+y^2')
Warning :redefining function: f

Os valores de z = f(x,y) para serem produzidos vão popular uma matriz de dimensões n1
x n2, onde n1 é o número de elementos em x, e n2 é o número de elementos em y. para
gerar essa matriz, use a função ‘feval’, como segue:

-->z = feval(x,y,f);

Para verificar os tamanhos de x, y e z, use:


-->size(x)
ans =

! 1. 41. !

-->size(y)
ans =

! 1. 41. !

-->size(z)
ans =

! 41. 41. !

Para produzir o gráfico tri-dimensional, use:

-->plot3d(x,y,z)

Rev.0.1 Data Rev.: 10.03.2008 [5/5]

Potrebbero piacerti anche