Introdução ao Scilab
description
Transcript of Introdução ao Scilab
Introdução ao Scilab
Monitoria de Sinais e Sistemas - ES413
Professor: Aluizio Araújo (aluizioa)
Monitores
• André Aziz Camilo Araújo (aaca)
• Bruno Otávio Piedade Prado (bopp)
• José Olino de Campos Lima Júnior (joclj)
• Patrícia Freire Araújo Lira (pfal)
Sobre o Scilab
• Software de distribuição gratuita com código fonte disponível (open source). Download para diversas arquiteturas disponível em:
http://scilabsoft.inria.fr/download/index_download.php?page=release.html
• Permite interface com rotinas em FORTRAN, C ou Maple
• Suporta desenvolvimento de conjuntos de funções para aplicações específicas (toolboxes) além de já possuir várias toolboxes, como a Signal Processing Toolbox.
Funções help, who e pwd
• Para olhar a documentação de alguma função específica no Scilab:
help nomeDaFunção
Ex: help sum
• Para olhar quais variáveis estão alocadas no momento:
who
Notar que %i = -1
•Para saber o diretório atual
pwd
Funções clear, save e load
•Para apagar todas as variáveis (exceto especiais)
clear
•Para salvar variáveis em arquivo de dados
save (‘nomeArquivo.extensao’, variavel1, variavel2, ..., variavelN)
• Para carregar variaveis salvas no arquivo
load (‘nomeArquivo.extensao’)
Executar passo a passo arquivo ‘AulaPraticaEx1.sce’
Funções pause e resume
• A função pause cria um novo ambiente.
•As variáveis do ambiente anterior ainda são visíveis nesse novo ambiente.
•As variáveis desse ambiente podem sobrescrever as variáveis do ambiente anterior, mas isso só terá efeito nesse novo ambiente.
•Ao retornar ao ambiente anterior o valor antigo da variável é carregado
•Retorna-se a um ambiente anterior através da função resume.
Executar passo a passo ‘AulaPraticaEx2.sce’
Declarações de Vetores
u = [1 2 3] //vetor linha
u = [1;2;3] //vetor coluna
u = 1:15 //vetor linha u = [1 2 3 ... 15]
u = 5:-0.2:4 //vetor linha u = [5 4,8 4,6 ... 4]
u = ones(1:5) // u = [1 1 1 1 1]
u = zeros(1:4) // u = [0 0 0 0]
Declarações de Matrizes
A = [ 1 2 3 ; 4 5 6 ] A =! 1. 2. 3. !! 4. 5. 6. !B = ones(2,3)B =! 1. 1. 1. !! 1. 1. 1. !C = [A B]C =! 1. 2. 3. 1. 1. 1. !! 4. 5. 6. 1. 1. 1. !D = matrix (C, 4,3)D =! 1. 5. 1. 1. !! 4. 3. 1. 1. !! 2. 6. 1. 1. !
Comandos For, While e If-then-else
for variavel = vetor_linha
//corpo
end
while condicao
//corpo
end
if condicao then
//corpo
elseif condicao
//corpo
else
//corpo
end
Definindo uma função
function [varRetorno1, ... , varRetornoN] = nomeDaFuncao(param1, ... , paramN)
// corpo da função
* Usar a função getf(‘caminhoDoArquivo.sci’)
Exerc1: Olhar a estrutura da função nomeFuncao em ‘nomeFuncao.sci’
Exerc2: Definir uma função que converte um número complexo da forma cartesiana
para a forma polar e usá-la em:
(a) z = 4 + j * 4
(b) z = -3 + j * 5
Definindo uma função
Exerc3: Definir uma função que converte um número complexo da forma polar para forma cartesiana e usá-la em:
(a) z = 4*e-j(3П/4)
(b) z = 2*ej(П/2)
Exerc4: Expresse f(t) = -2*cos(wo*t) + 3*sin(wo*t) como uma única senóide
Referências
• Site do Scilab
http://scilabsoft.inria.fr/
• Índice de funções
http://scilabsoft.inria.fr/product/man/html/eng/contents.htm
• Correspondência de funções com o Matlab
http://scilabsoft.inria.fr/product/dic-mat-sci/M2SCI_doc.htm
• Livro texto: Linear Systems and Signals, B. P. Lathi