Вы находитесь на странице: 1из 52

CIV0494 Mtodos Analt. e Comp.: Prof. Dr.

Francisco Adriano de Arajo

A21-01

UNIDADE 03 MTODOS COMPUTACIONAIS

Introduo ao Scilab 5.5.2

O Scilab um software cientfico (livre) para


computao numrica com uma rica biblioteca de
funes e uma linguagem de programao associada.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-02

Para baixar o programa acessar: www.scilab.org

Click para fazer


o download.
OBS.:
O download
pode demorar!

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

Aps o download, com um duplo click em


instala-se o Scilab 5.5.2

A21-03

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O ambiente Scilab

A21-04

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O ambiente Scilab (cont.)

Editar/Preferncias/General
(expandir)/Desktop Layout/
Select a Layout/Integrated

A21-05

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O Console

<enter>

<enter>

<enter>

A21-06

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O console (cont.)
<enter>

<enter>
<enter>

A21-07

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-08

O histrico de Comandos

(sobre o comando na janela histrico de comandos)

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-09

O histrico de comandos (cont.)


<enter>

<enter>

<enter>

duplo click
com boto
esquerdo
faz o comando
ser repetido

click com o
boto direito

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O ambiente de Trabalho

A21-10

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O ambiente de Trabalho (cont.)


<enter>

<enter>

A21-11

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O ambiente de Trabalho (cont.)

<enter>

<enter>

A21-12

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O ambiente de Trabalho (cont.)


<enter>
<enter>

<enter>

A21-13

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O Navegador de Ajuda

<enter>

A21-14

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

O Navegador de Ajuda (cont.)

A21-15

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

Usando o Scilab como uma calculadora

A21-16

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-17

Usando o Scilab como uma calculadora (cont)

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-18

Formatao Para a Exibio de Nmeros

<enter>

OBS.: O Scilab arredonda e trunca apenas a exibio


do nmero, internamente o nmero permanece
inalterado.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-19

Formatao Para a Exibio de Nmeros (cont.)

OBS.: O Scilab arredonda e trunca apenas a exibio


do nmero, internamente o nmero permanece
inalterado.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-20

Formatao Para a Exibio de Nmeros (cont.)

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-21

PROGRAMAO no Scilab
O Scilab um interpretador de comandos e por isso
o cdigo gerado no precisa ser compilado. Ou seja,
o Scilab no cria um programa.exe, portanto um
programa em linguagem do Scilab s pode ser
executado dentro do Scilab.
no SciNotes onde os programas em Scilab so
escritos e modificados;

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-22

PROGRAMAO no Scilab (cont.)

Para se escrever um programa segue-se os passos:


1. Clica-se no cone do SciNotes

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-23

PROGRAMAO no Scilab (cont.)

2. Digita-se o programa no SciNotes


Exemplo: programa para ler dois nmeros A e B,
calcular a soma S e exibir este resultado

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-24

PROGRAMAO no Scilab (cont.)

3. Salva-se o arquivo do programa com extenso .sce


especificando-se um diretrio onde ele ser salvo

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-25

PROGRAMAO no Scilab (cont.)

4. Clica-se no cone executar

5. Retorna-se ao console para ver a execuo do


programa, na barra de ferramenta do Windows
clica-se no cone do console;

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-26

PROGRAMAO no Scilab (cont.)

6. Digita-se os dados solicitados e se obtm o resultado

<enter>
<enter>

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-27

PROGRAMAO no Scilab (cont.)

Variveis no Scilab:

Todas as variveis so matrizes reais;


No necessrio declarar as variveis, pois uma varivel criada a partir da primeira atribuio de valores
feita a ela;
Entrada de Dados no Scilab:
<varivel>=input(mensagem, s)
s opcional, e informa que <varivel> uma string.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-28

PROGRAMAO no Scilab (cont.)

Sada de Dados no Scilab:


Um dos comandos para sada de dados o disp, cuja
sintaxe :
Obs.: mensagem
disp(varivel, mensagem)
opcional
Exemplo de entrada e sada de dados:
<enter>
<enter>

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-29

Sada de Dados no Scilab:

Um comando mais elegante para sada de dados o


mprintf cuja sintaxe :
mprintf(mensagem format\n,varivel)

\n usado para comear uma nova linha.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

<enter>
<enter>

A21-30

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-31

PROGRAMAO no Scilab (cont.)

Comandos de Deciso no Scilab:


if.(<condio>).then
<comandos 1>
else
<comandos 2>
end

OBS.1: o ponto entre if e


() significa espao;
OBS.2: se o comando for
aceito ele fica roxo.

if.(<condio1>).then
<comandos 1>
elseif.(<condio2>).then
<comandos 2>
elseif.(<condio3>).then
<comandos 3>
else
<comando final>
end

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-32

PROGRAMAO no Scilab (cont.)

Expresses Lgicas no Scilab:


* Se |A|<10^(-30)

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

A21-33

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-34

PROGRAMAO no Scilab (cont.)

Exemplo de comando de deciso:


<enter>

<enter>

<enter>

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-35

PROGRAMAO no Scilab (cont.)

Comandos de Repetio no Scilab:


Quando o nmero de repeties fixo se costuma
usar o comando for cuja sintaxe :
for <contador>=<inicial>:<incremento>:<final>
<comandos>
end
Se o incremento for omitido seu valor de default +1
O incremento tambm pode ser negativo

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-36

PROGRAMAO no Scilab (cont.)


Comandos de Repetio no Scilab:

Exemplo do comando for:


<enter>

<enter>

<enter>

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-37

PROGRAMAO no Scilab (cont.)


Comandos de Repetio no Scilab:

Quando o nmero de repeties no previamente


conhecido se costuma usar o comando while cuja
sintaxe :
<condio>=<verdade>
while (<condio>==<verdade>)
<comandos>
end

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-38

PROGRAMAO no Scilab (cont.)


Comandos de Repetio no Scilab:

Exemplo do comando while:


<enter>

<enter>
<enter>
<enter>

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-39

PROGRAMAO no Scilab (cont.)

Criando Funes no Scilab:


Funo que retorna uma s varivel
function <var>=<nome>(<par1, par2 , par3>)
<comandos>
endfunction

Funo que retorna vrias variveis


function [<var1, var2>]=<nome>(<par1, par2>)
<comandos>
endfunction
A forma mais fcil de utilizar as funes escrev-las
no mesmo arquivo do programa principal, no incio.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

<enter>
<enter>

A21-40

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

<enter>

A21-41

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

A21-42

Resoluo de Sistemas Lineares:


O mtodo de Gauss para a resoluo de sistemas
lineares est implementado no Scilab atravs do
comando \ . Ex: [A]{x}={b} => x = A\b

Exemplo:

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-43

PROGRAMAO no Scilab (cont.)

Entrada de dados via arquivo:


Um arquivo de estrada pode ser gerado no SciNotes.
Ele deve ser salvo com extenso .txt
Exemplo de arquivo de entrada para sistema linear:

OBS: Cada texto


de instruo deve
ser uma nica
cadeia de caracteres
ou seja, no se
coloca espao, e sim
underline _

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-44

PROGRAMAO no Scilab (cont.)

A funo mopen abre um arquivo, sendo sua sintax:


<id_arq>=mopen(<nome>,<permisso>)
Sendo:
<id_arq>=varivel que associa uma unidade ao arquivo
<nome>=varivel nome do arquivo
<permisso>=r ou w
r abre arquivo para leitura;
w cria ou abre arquivo para escrita,
A funo mclose fecha um arquivo, sendo sua sintax:
mclose(<id_arq>)

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-45

PROGRAMAO no Scilab (cont.)

A funo mfscanf ler dados formatados de um arquivo,


sendo sua sintaxe: <var>=mfscanf(<id_arq>,<format>)
Sendo:
<var>=varivel que recebe o dado;
<id_arq>=unidade associada ao arquivo de entrada;
<format> = %s para string;
%i para inteiro;
%f para real;
%e para notao cientfica;

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

A21-46

Sada de dados via arquivo:


A funo mfprintf grava dados formatados em um
arquivo de sada, sua sintaxe :
mfprintf(<id_arq>,<mensagem format\n>,<var>)
Sendo:
<id_arq>=unidade associada ao arquivo de sada;
<mensagem>=mensagem opcional
<format>= %i ou %f ou %e ou %s
<var>=varivel a ser escrita no arquivo de sada

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

A21-47

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

A21-48

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

PROGRAMAO no Scilab (cont.)

A21-49

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-50

OBS.: Para se trabalhar com arquivos de entrada e sada


de dados, o diretrio atual do Scilab deve ser o diretrio
que contem o programa.sce e as pastas com os arquivos
.txt. No menu Editar/Preferncias pode-se configurar
o Scilab para sempre abrir no diretrio de trabalho.

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-51

Fazendo grficos no Scilab:

Ver:
CAMPOS Filho,F.F.(2010). Fundamentos de Scilab.
UFMG. DCC ICEx.
Captulo 05 pg.91 a 104

CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

A21-52

BIBLIOGRAFIA:
MALAQUIAS,J.R.(2013.2). Programao de Computadores 01- Captulo 01- Introduo ao Scilab. UFOP.
www.dcc.ufmg.br/~hfmatos/CN/cna04
introducaoSciLab.pdf
SOUZA,R.P. Scilab. Aula 1-Introduo. UFRN.
RODRIGUES,F.A. Modelagem Matemtica Computacional. Introduo ao Scilab. IFSC.
CAMPOS Filho,F.F.(2010). Fundamentos de Scilab.
UFMG. DCC ICEx.

Вам также может понравиться