Buscar

Aula_02_-_Scilab

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais