01 - introdução ao scilab

7
ROTEIRO PRÁTICA 01 Introdução ao Scilab Código Nome do componente curricular Engenharia Ambiental 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 Rev.0.1 Data Rev.: 10.03.2008 [1/5]

Upload: jmcarrizo

Post on 23-Jun-2015

196 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 01 - Introdução ao Scilab

ROTEIROPRÁTICA

01

Introdução ao ScilabCódigo – Nome do componente curricularEngenharia Ambiental

Professor(a): Juan Martin Carrizo Turma: 2008.1

Introdução ao ScilabScilab 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árioFunçõ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]

Page 2: 01 - Introdução ao Scilab

ROTEIROPRÁTICA

01

Introdução ao ScilabCódigo – Nome do componente curricularEngenharia Ambiental

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]

Page 3: 01 - Introdução ao Scilab

ROTEIROPRÁTICA

01

Introdução ao ScilabCódigo – Nome do componente curricularEngenharia Ambiental

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 25Rev.0.1 Data Rev.: 10.03.2008 [3/5]

Page 4: 01 - Introdução ao Scilab

ROTEIROPRÁTICA

01

Introdução ao ScilabCódigo – Nome do componente curricularEngenharia Ambiental

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]

Page 5: 01 - Introdução ao Scilab

ROTEIROPRÁTICA

01

Introdução ao ScilabCódigo – Nome do componente curricularEngenharia Ambiental

Professor(a): Juan Martin Carrizo Turma: 2008.1

Gráficos tri-dimensionaisPara 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]