Você está na página 1de 15

Univ.

Federal de So Joo Del Rei Campus Sete Lagoas

Apostila Scilab

Introduo:
Scilab um ambiente voltado para o desenvolvimento de software para resoluo de
problemas numricos. Foi criado em 1990 por um grupo de pesquisadores do INRIA Institut
de Recherche en Informatique et en Automatique e do ENPC - cole Nationale des Ponts et
Chausses. Desde 1994, quando passou a ser disponvel na Internet, um programa gratuito e
distribudo com o cdigo fonte. Alm da distribuio com o cdigo fonte, existem, tambm,
distribuies pr-compiladas do Scilab para vrios sistemas operacionais.

Figura 1: Pgina inicial do scilab

Pode-se observar o prompt inicial, representado pelo smbolo -->, que faz a marcao da linha
de comando e o cursor, ao lado do prompt. Nesse espao, podem ser realizados clculos e
compilados programas sem serem salvas alteraes. atravs dele tambm que pode ser
acessado o help do programa, atravs do comando help digitado no prompt. Ser aberto uma
janela depois de o comando ser executado (apertando se a tecla ENTER), contento uma lista
de todas as funes presentes.

Comandos bsicos do programa:


Para limpar a tela digite clear
pwd: Mostra o diretrio atual.
SCI: Mostra o diretrio onde o Scilab foi instalado.
ls: Lista os arquivos do diretrio.
chdir: Muda de diretrio.
mkdir: Cria um diretrio.
rmdir: Remove um diretrio.
who: Apresenta as variveis alocadas no momento
exec(arquivo.sci): Executa um programa Scilab.
help(): Mostra o help do Scilab.
disp(var): Mostra o contedo de variveis.
save(file, var): Salva variveis especficas em um arquivo binrio.
load(file, var): recupera os valores salvos em arquivo.
clear: Apaga as variveis no protegidas do ambiente.
Operaes bsicas:
SOMA: +
SUBTRAO:
MULTIPLICAO: *
DIVISO DIREITA : /
DIVISO ESQUERDA: \
POTENCIAO: ^
Constantes especiais:
%e: constante neperiana
%i: raiz quadrada de -1, nmero imaginrio
%pi: constante
%eps: mximo valor tal que 1+%eps=1
%inf: infinito
%nan: no um nmero
%t: verdadeiro
%f: falso
Operadores de comparao:
< menor
<= menor ou igual
> maior
>= maior ou igual
== igual
~= diferente
<> diferente
&e
| ou
~ no
Todas as variveis criadas durante os trabalhos no ambiente podem ser armazenadas em um
arquivo. O comando save usado para tal, com a seguinte sintaxe:
save(nome_do_arquivo.dat,variveis).Para recuperar os valores das variveis, usa se o
comando load: load(nome_do_arquivo,variveis).

Alm de armazenar variveis, possvel criar uma memria de clculo, salvando os comandos
digitados em um arquivo, atravs do comando diary: diary(nome_do_arquivo);
diary(0) // Fecha o comando.
As variveis so sensveis a letras maisculas e minsculas, devem ter palavra nica de at 24
caracteres, no podendo ser iniciadas com nmeros e criadas no momento da atribuio de
valor.
Exemplo:
--> A = -3.5;
--> B = 4e-6;

Comandos aplicados lgebra Linear e


Geometria Analtica:
Vetores:
So matrizes unidimensionais, onde se possvel armazenar vrios itens em uma nica
varivel. Na figura abaixo mostrada uma varivel nota contendo nota de alunos. Os itens
contidos em um vetor so chamados de elementos do vetor, logo o vetor abaixo possui dez
elementos. Seus elementos podem ser acessados individualmente, a nota (4) refere-se ao
quarto elemento do vetor nota. O valor entre parnteses de nota (4) chamado de ndice ou
subscrito e usado para individualizar um elemento do vetor.
Vetores podem ser construdos usando os colchetes [e]. Os elementos so envolvidos por
colchetes e separados por espaos ou virgulas.

Figura 2: Exemplo de vetor nota

Figura 3: Exemplo de como os elementos de um vetor podem ser acessados.

Figura 4: Vetor com dez elementos

Declaraes de vetores:
--> u = [1 2 3];
//vetor linh a
--> u = [1;2;3];
//vetor colun a
--> u = 1:15;
//vetor linha u = [1 2 3 ... 15]
--> u = ones(1:5); // u = [1 1 1 1 1]
--> u = zeros(1:4); // u = [0 0 0 0]
--> u = 5:-0.2:4;
//vetor linha u = [5 4.8 4.6 ... 4]

-->vec = 0:0. 01:10


Incremento no for especificado, fica o valor default 1.
Incremento pode ser negativo.
Dimenso: length(x)
Nmero de linhas e colunas: [nr,nc] = size(x)
Todos elementos iguais a 1: x = ones(N,1)
Vetores nulos: x = zeros(N,1)
Vetores com valores aleatrios: x =rand(N,1)
Apaga elemento: X(i) = []
Insere elemento i no final: X = [X i]
Acessa ltimo elemento: X($)
Acessa elementos entre n e m: X(n:m)
Agrupa dois vetores: c = [x y];
Obs.: ndice do vetor comea com 1
Dois vetores esto sujeitos s seguintes operaes entre si:
SOMA: v1+v2, desde que sejam da mesma dimenso.
SUBTRAO: v1-v2, desde que sejam da mesma dimenso.
MULTIPLICAO ESTRUTURAL: v1.*v2, desde que sejam da mesma dimenso.
DIVISO DIREITA ESTRUTURAL: v1./v2, desde que sejam da mesma dimenso.
DIVISO ESQUERDA ESTRUTURAL: v1.\v2, desde que sejam da mesma dimenso.
MULTIPLICAO: v1*v2, desde que o nmero de colunas de v1 seja igual ao nmero de
linhas de v2.
DIVISO DIREITA: v1/v2, desde que sejam da mesma dimenso.
DIVISO ESQUERDA: v1\v2, desde que sejam da mesma dimenso.
Matrizes:
Matrizes
So agregados de dados dentro de uma mesma varivel. So agregados de dados
homogneos no sentido de que os dados tem sempre o mesmo tipo de contedo, ou seja, uma

matriz pode conter somente dados numricos ou somente strings, mas no os dois
simultaneamente.

Figura 5: Demonstrao de matrizes. Fonte: Introduo ao SCILAB Prof. Wilian Soares Lacerda UFLA

Figura 5: Exemplos de matrizes. Fonte: Introduo ao SCILAB Prof. Wilian Soares Lacerda UFLA

Figura 6: Declarao de Matrizes. Fonte: Introduo ao SCILAB Prof. Wilian Soares Lacerda UFLA

M = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12]
M(1, :)
Toda linha 1 da matriz M;
M(2, :)
Toda linha 2;
M( : , 1) Toda coluna 1;
M( : , 2) Toda coluna 2;
M( : , 2:4) Todas colunas 2, 3 e 4.
Matrizes especiais:
Matrizes com elementos unitrios:
--> A = ones(M,N)
Matrizes com elementos nulos:
--> B = zeros(M,N)
Matriz identidade:
--> A = eye(N,N)
Operaes com Matrizes:
Acesso linha i: A(i,:)
Acesso coluna j: A(:,j)
Insere linha no final: A = [A;linha]
Insere coluna no final: A = [A coluna]
Acesso ultima linha: A($,:)
Acesso ltima coluna: A(:,$)
Acesso a um conjunto de linhas: A(:,[i:j])
Acesso a um conjunto de colunas: A([i:j],:)
Matriz com nmeros aleatrios: A = rand(N,M)
Soma: C = A + B
Multiplicao: C = A*B
Multiplicao por um escalar: B = i*A
Matriz complexa: C = A + B*%i (A e B reais)

Matriz transposta: C = A
Determinante: d = det(A)
Diagonal: d = diag(A).
Matrizes: operadores especiais
Operador \: diviso esquerda.
Seja Ax=b um sistema de equaes lineares escrito na forma matricial, sendo A a matriz de
coeficientes, x o vetor das incgnitas e b o vetor dos termos independentes:

Figura 7: Operadores especiais. Fonte: Introduo ao SCILAB Prof. Wilian Soares Lacerda UFLA

A resoluo deste sistema x=A-1b, ou seja, basta obter a matriz inversa de A e multiplic-la
pelo vetor b. No Scilab isto pode ser feito desta forma:
--> A=[1 3;3 4];b=[5;2];
1x + 3y = 5
3x + 4y = 2
--> x=inv(A)*b
Esta soluo tambm pode ser obtida com o operador diviso esquerda cujo smbolo \:
--> x=A\b
Operador . (ponto)
Este operador usado com outros operadores para realizar operaes elemento a elemento.
Exemplo:
A = [1 2 3; 3 4 6; 7 8 9];
B = [2 4 6;8 10 12; 14 16 18];
-->A.*B
ans =
2. 8. 18.
24. 40. 72.
98. 128. 162.
-->A./B
ans =
0.5 0.5 0.5
0.375 0.4 0.5
0.5 0.5 0.5

Matrizes esparsas:
Uma matriz dita esparsa quando possui uma grande quantidade de elementos iguais
zero.
A matriz esparsa implementada atravs de um conjunto de listas ligadas que apontam para
elementos no zero. De forma que os elementos que possuem valor zero no so
armazenados.

Em Scilab:
--> A = [0 0 1; 2 0 0; 0 3 0];
--> sparse(A)
ans =
( 3, 3) sparse matrix
( 1, 3) 1.
( 2, 1) 2.
( 3, 2) 3.
Exemplo:
--> A = [0 0 1; 2 0 0; 0 3 0] ;
--> A= sparse(A);
--> B = [0 1 0; 2 0 2; 3 0 0];
--> B = sparse(B);
--> C = A*B;
Para obter a matriz C na forma completa:
--> C = full(C);

Guia de Instalao do Programa:


1 passo:
Abra o seu navegador e digite www.google.com
2 passo:
Digite na parte de busca baixar scilab e em seguida pressione o boto ENTER.
Em seguida clique no cone Scilab 5.5.0 ( como mostra a figura abaixo)

3 passo:
Ir abrir a seguinte pgina ( representada na figura abaixo), de acordo com seu sistema
operacional e a verso do mesmo clique nos cones indicados.

4 passo:
Clique no boto Executar

5 passo:
Selecione o idioma

6 passo:
Clique no boto Avanar

7 passo:
Marque a opo: Eu aceito os termos de contrato.

8 passo:
Escolha o local a ser salvo o programa e clique em Avanar.

9 passo:
Clique em Avanar

10 passo:
Clique no boto Avanar.

11 passo:
Clique no boto Avanar.

12 passo:
Clique no boto Instalar.

13 passo:
O programa ser instalado conforme a figura abaixo.

14 passo:
Clique em Concluir para concluir a instalao:

Pronto!

Referncias Bibliogrficas:
Apostila Danusio Gadelha Filho, Universidade Federal do Cear.
Introduo ao SCILAB Prof. Wilian Soares Lacerda UFLA, Maio 2011.
Introduo ao Scilab Verso 3.0 Prof. Paulo Srgio da Motta Pires.