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 ! 1. 2. 3. ! ! 4. 5. 6. ! B = ones(2,3) B = ! 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 if condicao then //corpo elseif condicao else 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: z = 4 + j * 4 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: z = 4*e-j(3П/4) 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