Baixe o app para aproveitar ainda mais
Prévia do material em texto
Scilab Processamento Digital de Sinais Scilab Foi criado em 1990 por pesquisadores do INRIA e da Ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab. Página na internet: http://www.scilab.org Consiste também de um interpretador de comandos A linguagem e o sistema possuem o mesmo nome: Scilab 2 O ambiente e a linguagem Scilab O ambiente Scilab: Interpreta comandos; Oferece um editor para construção de programas; Emite mensagens de erros relativos à obediência da sintaxe da linguagem e a problemas na execução de um programa (como divisão por zero). Como qualquer linguagem natural, a linguagem Scilab: Une riqueza de expressão a detalhes sintáticos; Exige uma postura paciente em seu aprendizado, pois envolve uma taxa inicial de memorização. A fluência vem com a prática. 3 O ambiente Scilab 4 O ambiente Scilab Alguns comandos: PWD (ou pwd): diretório onde o Scilab foi lançado. Onde seu script está rodando. Mudança do diretório corrente: Na barra de comandos (menus), seleciona-se arquivo e, depois, Alterar diretório atual... 5 O ambiente Scilab dir: mostra conteúdo do diretório corrente. 6 O ambiente Scilab OUTROS: clc: limpa a tela; clear: apaga as variáveis Como salvar um “Ambiente de trabalho”: Na barra de menus acionar: Arquivo > Salvar ambiente... Como abrir um “Ambiente” salvo anteriormente: Arquivo > Carregar ambiente... 7 Variáveis e comandos de atribuição Variáveis correspondem a nomes para espaços de memória que são gerenciados pelo Scilab; O programador não precisa ter qualquer ideia de como tal gerência é realizada. Os nomes das variáveis são escolhidos pelo programador, respeitando as seguintes regras: O primeiro caractere do nome deve ser uma letra ou qualquer caractere dentre: ' % ', '_', '#', '!', '$' e '?'; Os outros caracteres podem ser letras ou dígitos ou qualquer caractere dentre '_', '#', '!', '$' e '?‘. 8 Variáveis e comandos de atribuição Nomes válidos: A, a, jose, total_de_alunos, #funcionário Nomes inválidos: 1aluno (primeiro caractere é um algarismo); Total de alunos (tem espaços); José (é acentuado). Note que o Scilab considera letras maiúsculas diferentes de minúsculas. 9 Variáveis e comandos de atribuição Exemplos: 10 Comando de atribuição Sintaxe: <variável> = <expressão> A <variável>, se não existia, passa a existir. Se existia, o valor armazenado anteriormente é perdido. A <expressão> é calculada e o resultado é atribuído à variável 11 Comando de atribuição 12 Comando de atribuição 13 Comando de atribuição Algumas funções pré–definidas do Scilab: abs(x) > valor absoluto de x. sin(x) > seno de x. cos(x) > cosseno de x. exp(x) > exponencial ex. log(x) > logaritmo de x na base e (logaritmo natural ou neperiano). sqrt(x) > raiz quadrada de x. sum(x) > soma algébrica dos elementos de x. max(x) > maior elemento de x. min(x) > menor elemento de x. 14 Expressões aritméticas Expressões podem ser arbitrariamente complicadas. Por exemplo: Qual o valor de “x” a partir do comando “x = 2^3*4” ? 23x 4 = 32 ou 23x4 = 4096 ? Parênteses podem alterar prioridades. 15 Expressões aritméticas 16 Números Complexos Funções para Números Complexos Vetores/Matrizes Matrizes são variáveis que contêm uma quantidade potencialmente grande de valores. É no tratamento de matrizes que o Scilab mostra grande superioridade sobre linguagens como C, Fortran ou Java. 19 Vetores/Matrizes Todas as variáveis Scilab são, a princípio, matrizes. 20 Vetores/Matrizes 21 Operações com Vetores e Matrizes Transposição: M’ Soma Produto Produto Interno (Escalar): xTy Operações elemento a elemento: x.*y, x./y, ... Funções Matriciais ones(m,n): matriz de dimensão m x n de elementos unitários zeros(m,n): idem ao anterior, só que com elementos nulos eye(m,n): matriz identidade inv(M): inversa det(M): determinante Polinômios Polinômios - Funções Gráficos Para gerar gráficos bidimensionais: plot2d([x],y), onde: x e y podem ser vetores ou matrizes reais. se x e y vetores, devem possuir a mesma dimensão. se x e y matrizes, devem possuir a mesma dimensão. se x vetor e y matriz, o número de linhas de y deve ser igual ao número de elementos de x Variantes: plot2d2 - boxcar plot2d3 – amostras plot2d4 - vetores Plotando Gráficos t =( 0 : 0 . 1 : 6 %pi ) ; plot2d ( t , sin (t) ) ; xtitle ( ' plot2d and xgrid ' , ' t ' , ' sin(t) ' ) ; xgrid ( ) ; 27 Atributos de Estilo para plot2d Estilo do Gráfico Eixo: axesflag = 5 (par de eixos passando por (0,0)) Limites do Gráfico: rect = [xmin, ymin, xmax, ymax] Escala logarítmica ou linear: logflag = {“nn”,”nl”,”ln”,”ll”} Legenda: leg=“legenda1@legenda2” Outras Opções de Plotagem Mais de uma Curva no mesmo gráfico Gráficos separados numa mesma janela - subplot Programação Scilab – linguagem interpretada sequência de operações podem ser escritas em um fonte (*.sce) no SciNotes Disponibilidade de estruturas de: decisão repetição escrita de funções próprias Laço de Decisão if (condição) then execução de linhas se condição verdadeira else execução de linhas se condição falsa end Operadores Relacionais: > : maior que < : menor que >= : maior ou igual <= : menor ou igual == : igual ~= ou <> : diferente Lógicos E : & OU : | Não: ~ Estruturas de Repetição while condição <then, do> comandos end for variável = expressão comandos end Laço for Se expressão: matriz ou vetor linha: variável recebe o elemento de cada coluna lista: variável recebe as sucessivas entradas da lista for i = 1:2:10 for a = [7, 9, -1, 8, 12] for k = list(1, 2, ‘exemplo’) Exercícios de Programação Elaborar um programa que avalia a média de duas notas de um aluno e retorna a situação do mesmo (aprovado ou reprovado) Elaborar um programa para o cálculo do fatorial de um número Funções Definidas pelo Usuário escritas em arquivo texto no SciNotes e gravadas como *.sci para serem carregadas: executadas inclusas em programa via funções: getf(‘/path/nome_da_função.sci’) exec (‘/path/nome_da_função.sci’) exists (‘/path/nome_da_função.sci’) function [variáveis de saída] = nome_da_função(argumentos) <algoritmo da função> endfunction Exercícios de Funções Crie uma função factorial em substituição ao programa feito no exercício 2 Faça uma versão alternativa de factorial de forma recursiva Escreva um programa que calcule um cosseno através da aproximação por série de Taylor, para uma certa precisão dada e usando a função factorial desenvolvida acima Crie uma função angle para obter o ângulo de fase de um dado número complexo Argumento Atributo Argumento Atributo -9 Círculo vazio 1 Curva preta -8 Sinal ♣ 2 Azul -7 Triângulo 3 Verde claro -6 Sinal 4 Azul claro -5 Losango vazio 5 Vermelha tom 1 -4 Losango preenchido 6 magenta -3 asterisco 7 Amarela tom 1 -2 Sinal, x 8 branca -1 Sinal, + 9 Azul escuro 0 pontilhado 32 dourada
Compartilhar