0% acharam este documento útil (0 voto)
115 visualizações40 páginas

SCILAB - Introdução PDF

Este documento fornece uma introdução ao Scilab, um software livre para cálculo numérico e simulação de sistemas físicos. Ele descreve o que é o Scilab, suas principais áreas de aplicação, como executá-lo, variáveis especiais, comandos básicos, definição de variáveis, manipulação de arquivos, operações básicas com números, vetores, matrizes e polinômios.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
115 visualizações40 páginas

SCILAB - Introdução PDF

Este documento fornece uma introdução ao Scilab, um software livre para cálculo numérico e simulação de sistemas físicos. Ele descreve o que é o Scilab, suas principais áreas de aplicação, como executá-lo, variáveis especiais, comandos básicos, definição de variáveis, manipulação de arquivos, operações básicas com números, vetores, matrizes e polinômios.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 40

Modelagem Matemtico Computacional

Introduo ao Scilab

O que o Scilab?
Software livre para clculo numrico e simulao de sistemas fsicos.
Usado nas reas:
1. Fsica
2. Sistemas complexos
3. Processamento de imagens
4. Controle e processamento de sinais

5. Automao industrial
6. Controle de processos
7. Computao grfica
8. Matemtica
9. Modelagem biolgica
10. ...

O que o Scilab?
Criado em 1989 por um grupo de pesquisadores da INRIA e da ENPC.
Disponvel como software livre desde 1994 pelo site
http://www.scilab.org
Consrcio Scilab desde 2003 mantido por diversas empresas.
Objetivos do consrcio:
organizar cooperao entre os desenvolvedores
obter recursos para manuteno da equipe
garantir suporte aos usurios
Sistemas Operacionais:
Linux
Windows
Solaris
Unix

Executando o Scilab?

Help
Prompt de comando

Editor

Variveis especiais
Comando who

Constantes especiais
%e: constante neperiana
%i: raiz quadrada de -1, nmero imaginrio

%pi: constante p
%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

Comandos bsicos

pwd: Mostra o diretrio atual.


SCI: Mostra o diretrio onde o Scilab foi instalado.
ls: Lista os arquivos do diretrio.
chdir(dir): Muda de diretrio.
mkdir(dir): Cria um diretrio.
rmdir(dir, s): Remove um diretrio.

Comandos bsicos

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.

Comandos bsicos
Exerccio:
Crie um diretrio chamado File.

Entre nesse diretrio.


Execute os comandos:
A = ones(2,2);
disp(A);
Salve a varivel A no arquivo teste.dat
Apague a varivel A
Carregue o valor de teste.dat na varivel A novamente;
Verifique o valor de A;
Remova o diretrio File.

Definio das variveis


Sensvel a maisculas e minsculas
Palavra nica
At 24 caracteres
No pode iniciar com nmero

Exerccio
Verificar se possvel declarar as seguintes variveis:
a = 1;
Var_1 = 2;
2var = 3;
esta varivel = 3;
tens = 2;
b = 2; B = 3; verifique se b e B tm o mesmo valor.

Manipulao de arquivos

Comando diary: Armazena os comandos em um texto


Exemplo:
diary(Meu arquivo.txt);
a = 100;
b = 200;
c = a+b;
disp(c);
diary(0);

Calculadora X Ambiente de programao

Calculadora
Os comandos so digitados diretamente do prompt.

Ambiente de programao
Os comandos so digitados em um arquivo texto.

Operaes e estruturas bsicas

Nmeros complexos

Z = a + %i*b

Exerccio:
1. Dados os seguintes nmeros complexos,
Z1 = 3 + 5i; Z2 = 7 + 3i

execute as seguintes operaes:


a) Z1 + Z2;
b) Z1 * Z2;
c) Z1 + sqrt(-20);
d) Calcule os mdulos de Z1 e Z2 e compare com abs(z);
Lembre-se

| z | a 2 b 2

Vetores
Declarao de vetores:
X = [ x1 x2 x3 ...] vetor linha
X = [x1;x2;x3;...] vetor coluna
Transposio de vetores: X
Exerccios:
1. Verifique a diferena entre: x = [1 2 3] e x = [1;2;3]
2. Dados os vetores:
x = [1,2,3,4,5] e y = [2,4,6,8,10]
Calcule:
a) z = x + y;
b) z = x*y;
c) Formas transpostas de x e y;
d) Dados z1 = x*y; e z2 = x*y;
Verifique se z1 = z2.

Vetores
A = Valor_inicial:incremento:Valor_final

Exemplos:
A = 1:10;
B = 1:2:10;
C = 1:0.2:10;
D = 10:-1:1;
E = 1:%pi:20;
F = 0:log(%e):20;
G = 20:-2*%pi:-10

Operaes com vetores

Dimenso: length(x)

Nmero de linhas e colunas: [nr,nc] = size(x)

Elementos iguais a 1: x = ones(N,1)

Vetores nulos: x = zeros(N,1)

Vetores com valores aleatrios: x =rand(N,1)

Exerccio:
1. Crie:
Um vetor unitrio com 10 elementos

Um vetor nulo com 5 elementos


Um vetor com 10 elementos aleatrios
Verifique suas dimenses

Operaes com vetores


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];

Operaes com vetores

Exerccios:
1 - Dado o vetor X = [1 2 3 4 5];
Insira o valor 10 no final
Apague o quinto elemento do vetor
Atribua valor zero aos elementos entre 2 e 4

2 - Dados os vetores

X = [p e sin(p) log(10)]
Y = [10,3 1,1 -2,2]
crie um vetor Z que seja dado pela unio de X e Y.

Matrizes
Uma matriz geral consiste em m*n nmeros dispostos em m
linhas e n colunas:

Matrizes
Exemplo

No Scilab:
M = [1 2 3; 4 5 6; 7 8 9]

Operaes com Matrizes


Matrizes com elementos unitrios: A = ones(M,N)
Matrizes com elementos nulos: B = zeros(M,N)
Matriz identidade: A = eye(N,N)
Exerccio:
Dadas as matrizes
A = [1 2 3;4 5 6]; e B = [7;8;9]
Determine:
A*B
B*A
A*identidade(A)
A*ones(A)
A*ones(A) + identidade(A)

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(:,$)

Exerccio
1. Dada a matriz A = [2 4 6;8 10 12; 1 2 3]
Atribua valor zero linha 3;
Multiplique a linha 2 por 10;
Remova a ltima linha
Insira o vetor B = [1 2 3] na ltima linha de A

Operaes com Matrizes


Acesso a um conjunto de linhas: A(:,[i:j])
Acesso a um conjunto de colunas: A([i:j],:)
Matriz com nmero aleatrios: A = rand(N,M)
Exerccio
1. Crie uma matriz 5X5 de nmeros aleatrios.
Atribua valor 0 coluna 2.
Multiplique os elementos de 2 a 4 da coluna 3 por 10.
Divida os elementos de 1 a 3 da coluna 5 por 5.
Remova a coluna 3.
Remova a linha 2.

Operaes com Matrizes

Soma: C = A + B
Multiplicao: C = A*B
Multiplicao por um escalar: B = aA
Matriz complexa: C = A + B*%i (A e B reais)
Matriz transposta: C = A
Determinante: d = det(A)
Diagonal: d = diag(A).

Operaes com Matrizes


Exerccios:
Dadas as matrizes ao lado,
Calcule:
1. C = A + B
2. C = A*B
3. C = 10*A + 5*B
4. C = A + B*%i
5. C = A + rand(B)
6. Determinante de A
7. Determinante de B
8. Diagonal de A

A=

134689
234913
333653
887992
982341
113879

B=

222345
900123
012378
192356
890123
423455

Polinmios

Funo poly(a,x, flag)


a: matriz de nmero reais
x: smbolo da varivel
flag: string ("roots", "coeff"), por default seu valor "roots".

Polinmios
Definindo polinmios:
y = poly([1 2 3], x, coeff); y = 1 + 2x + 3x2
ou: x = poly(0,x); y = 1+2*x + 3*x^2;
Exerccio:
Dados os seguintes polinmios:
y = 1 + 4x + 5x2 + 6x3
z = 3x + 5x3 + 7x4
Calcule:
a) y + z
e) z*y/(z3)
b) y*z
c) y2 + 3z
d) z/y

Polinmios
roots(z): calcula as razes de um polinmio
[r,q] = pdiv(y,z): efetua a diviso e calcula quociente e resto
coeff(y): retorna os coeficientes do polinmio.
Exerccio:
Dados os seguintes polinmios:
y = 5 + 3x + 10x2 + 8x3 + 10x4 + 6 x5
z = 2x + 3x3 + 4x4 + 5x5
Calcule:
a) suas razes
b) os coeficientes
c) o resto e o quociente das divises:
y/z e z/y

Matrizes de polinmios

Os elementos da matriz podem ser polinmios:


Exemplo:
s = poly(0, s);
A = [1-2*s+s^3 3*s+4*s^2; s 2*s]

Exerccio:
Dadas as matrizes de polinmios:
A = [2*x^2 + 3*x x;1 x^3+2];
B = [3*x^4 + x^2 x^5;8*x + 1 5];
Calcule:
A*B
A/B
Determinantes de A e B

Matrizes de polinmios
Se A uma matriz de polinmios:
A = A(num): retorna apenas os numeradores
A=A(den): retorna apenas os denominadores
Exemplo:
s = poly(0, s);
A = [(1+2*s+3*s^3)/(s+2) 3*s+1/(2*s+1);s^4/(s^2+2)
3*s^2+4*s^3]
N = A(num);
D = A(den);

Matrizes simblicas
Uma matriz simblica pode ser construda com elementos do
tipo string:
M =['a' 'b';'c' 'd'] ;
Se atribuirmos valores s variveis podemos visualizar a
forma numrica da matriz com a funo evstr():
Exemplo:
a = 1;
b = 4;
c = 3;
d = 5;
evstr(M);

Listas
Uma lista um agrupamento de objetos no necessariamente do
mesmo tipo.
Uma lista simples definida no Scilab pelo comando list, que possui
esta forma geral:
L = list(a1,a2,a3 aN)
onde a1,a2,a3 aN so os elementos da lista

Exemplo:
L = list(23,1+2*%i,'palavra',eye(2,2))
-->L
L =
L(1)
23.
L(2)
1. + 2.i
L(3)
palavra
L(4)
1. 0.
0. 1.

L= [23, 1+2i, palavra, 1 0 ]


01
Exerccio:
Verifique os valores de:
L(1), L(2), L(4) e L(4)

Listas

Podemos criar sublistas, ou seja, listas dentro de listas.

Exemplo:

L = list(23,1+2*%i,'palavra',eye(2,2))
L(4) = list('outra palavra',ones(2,2))
Acessando elementos dentro da lista da lista:
L(4)(1)
L(4)(2)

Agrupando duas listas:


L1 = list(5,%pi, velocidade, rand(2,2));
L2 = list(1+2*%i,ones(3,3), acelerao);
L = list(L1,L2);

Funes elementares
imag(x): Mostra a parte imaginria de um complexo

real(x): Mostra a parte real de um complexo


log(x), log10(x), log2(x): Logaritmos natural, base 10 e base 2
modulo(x,y): Mostra o resto da diviso de x por y

abs(x): Retorna o valor absoluto (se x real) e o mdulo


(se x complexo)

Funes elementares
round(x): Arredonda o valor de x para o inteiro mais prximo
floor(x): Arredonda para o menor inteiro
ceil(x): Arredonda para o maior inteiro

sqrt(x): Calcula a raiz quadrada de x

Funes elementares
cos(x), sin(x), tan(x), cotg(x): Retorna cosseno, seno,

tangente ou cotangente de x (x deve estar em radianos)


acos(x), asin(x), atan(x): Retorna o ngulo (em radianos)
Exerccio:
Calcule:
a = sin(%pi/2);
b = tan(%pi);
c = cotg(%pi/3);
d = cos(%pi/4) + sin(%pi/4);

Funes elementares
Exerccios:

Dados:
x = [0.5 3.4 4 2.8 1.5];
y = [0.9 2.2 5 1.1 1.7];

Calcule:
a) seno(x), cosseno(x*.y),tangente(y)
b) log(x), log10(x*y), log2(x*y)
c) ceil(x)
d) floor(y)
e) round(x.*y)
f) sqrt(x) + floor(y.*y)
g) Verifique se abs(2+2*%i) = sqrt(8)

Referncias
www.scilab.org
Prof. Francisco A. Rodrigues - Instituto de Fsica de So Carlos - USP

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy