120 likes | 256 Views
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.
E N D
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: • 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