Você está na página 1de 15

2018

Introdução ao Scilab

Introdução ao SciLab
CHARLES WAY HUN FUNG
Sumário
Introdução ao SciLab ...................................................................................................................... 2
Constantes: .............................................................................................................................. 2
Variáveis .................................................................................................................................. 3
Vetores .................................................................................................................................... 5
Sinais básicos no SciLab ......................................................................................................... 7
Referências................................................................................................................................... 14

Práticas SciLab 1 Eng. Charles Way Hun Fung MSc.


Introdução ao SciLab
SciLab é um ambiente de programação voltado a resolver problemas matemáticos, há
diversos softwares que foram desenvolvidos com este fim, exemplo: Matlab e Octave. Este software
foi desenvolvido em 1990 por pesquisadores do INRIA – Institut de Recherche em Informatique et
en Automatique. SciLab é gratuito e pode ser baixado no site:
https://www.scilab.org/en/download/6.0.1.

Os objetivos da ferramenta são:

- Geração de gráficos de uma, duas ou três dimensões;

- Manipulação de vetores e matrizes;

- Permite trabalhar com sistemas de equações, polinômios, sistemas e funções de


transferência;

- Definição de funções;

- Processamento de sinais contínuos e discretos;

Constantes:

O SciLab pode comportar três tipos de constantes

Numéricos

São valores numéricos que se encontram no conjunto dos números reais, ou seja, números
positivos, negativos e com casas decimais. Exemplo:

Práticas SciLab 2 Eng. Charles Way Hun Fung MSc.


Lógicos

Uma constante lógica pode assumir dois valores possíveis: verdadeiro %t e falso %f. Exemplo:

Literais

Constante literais são compostas de letras ou um conjunto de letras. Estas constantes devem
ser usadas entre aspas simples (‘) ou entre aspas duplas (“). Exemplo:

Variáveis

São posições de memória usadas para armazenar dados, para a identificação da variável é
atribuído um nome para esta variável.

No SciLab há regras para a nomenclatura de variáveis, que são apresentadas na tabela a


seguir:

Tabela 1 – Regras para a nomenclatura de variáveis.

Disponível em [1]

Práticas SciLab 3 Eng. Charles Way Hun Fung MSc.


Comando de Atribuição

O SciLab faz o reconhecimento do tipo das variáveis baseado no resultado das expressões.
Para isto, o resultado da expressão é avaliado e depois atribuído a variável, através do comando
de atribuição. A sintaxe do comando é:

<nome_variável> = <expressão>

Exemplo:

Figura 1 – Navegador de variáveis do SciLab.

Fonte: Autor.

Caso seja colocado ‘;’ no final da expressão, o resultado não é apresentado no terminal:

Variáveis Especiais

No SciLab há variáveis pré-definidas que não podem nem ser removidas ou alteradas, estas
são constantes matemáticas ou expressão muito usadas na matemática. Para fazer uso destas
variáveis é necessário apenas escrevê-las da forma mostrada na tabela a seguir:

Práticas SciLab 4 Eng. Charles Way Hun Fung MSc.


Tabela 2 – Variáveis Especiais.

Disponível em [1]

Exemplo:

Vetores

São um conjunto de variáveis de mesmo tipo (homogenias), que se diferenciam por sua
posição no vetor, está determinada por uma variável chamada índice. Para definir um vetor há
algumas possibilidades:

Uma das formas para declarar um vetor é:

<vetor> = [e1, e2, ... , en]

Onde <vetor> é o nome do vetor a ser declarado e ei são os elementos do vetor. Os elementos
do vetor são sempre colocados entre colchetes. Os elementos do vetor podem ser separados por
vírgula ou espaço em branco.

Exemplo:

Práticas SciLab 5 Eng. Charles Way Hun Fung MSc.


Outra forma de declarar um vetor é:

<vetor> = <valor_inicial>:<incremento>:<valor_final>

Exemplo:

Também é possível ocultar o campo de incremento, neste caso o incremento será considerado
1, exemplo:

É possível também criar um vetor entre dois números com uma quantidade de elementos
determinada.

<vetor> = linspace(<valor_inicial>,<valor_final>,<número_de_elementos>)

Exemplo:

Práticas SciLab 6 Eng. Charles Way Hun Fung MSc.


Sinais básicos no SciLab

Na disciplina de Sinais e Sistemas são usados diversos sinais básicos para compor um sinal
mais complexo, a seguir é apresentada a forma de implementar os sinais básicos no SciLab.

Impulso Unitário

O impulso unitário consiste em um sinal que tem todos os valores em zero e no ponto de
origem com valor um. A representação matemática do impulso é dada por:

0, 𝑛 ≠ 0
𝛿[𝑛] =
1, 𝑛 = 0

E sua representação gráfica é:

Figura 2 - Impulso unitário.

Disponível em [2]

Para implementar este sinal no SciLab, faremos uso do SciNotes, esta é a ferramenta para
implementação de scripts, pode ser acessada clicando em Aplicativos -> SciNotes:

Figura 3 – Acesso ao SciNotes pelo SciLab.

Fonte: Autor.

O processo de criação da função deve seguir: Clicar em Novo. Abrirá um arquivo de texto no
qual pode-se editar o código fonte.

A função impulso é descrita pela seguinte função:

function [y]=impulso(x)
y = zeros(1, length(x));
y(find(x==0)) = 1;
endfunction

Práticas SciLab 7 Eng. Charles Way Hun Fung MSc.


Vamos compreender o funcionamento desta função,

Inicialmente a primeira linha:

function: significa que será uma função criada pelo usuário.

[y]: Indica que o tipo de retorno é um vetor com nome y.

Impulso: é o nome da função que estamos criando.

(x): Tudo que estiver entre parênteses são os parâmetros da função, ou seja, as variáveis de
entrada da função. Lembrando que no SciLab qualquer variável pode ser um vetor.

Na segunda linha:

length: Indica largura de um vetor, no caso se for recebido um vetor com 10 elementos, esta
função irá retornar 10.

zeros: é uma função que cria um vetor ou uma matriz de zeros com o número de linhas e
colunas igual ao passado nos parâmetros: zeros(<linhas>,<colunas>). Neste caso foi colocado 1 no
número de linhas, então será criado um vetor.

y: receberá o vetor de zeros que será criado baseado na largura do vetor de entrada.

Na terceira linha:

find: é uma função que irá retornar todas as posições, onde a condição que está entre
parênteses seja satisfeita, neste caso x==0, ou seja, todos os valores zeros do vetor x.

y(find(x==0))=1: Em todas as posições que x for igual a zero, o vetor y receberá 1.

Na quarta linha:

endfunction: Fim de função.

Depois da implementação desta função deve-se clicar em executar. Se tudo ficou correto, irá
apenas aparecer uma linha de confirmação no terminal do SciLab.

Exemplo do uso desta função:

Práticas SciLab 8 Eng. Charles Way Hun Fung MSc.


Perceba que apenas no ponto onde tem zero no vetor n, apareceu o número 1 no vetor x.

Plotando x, teremos:

Figura 4 – Plotagem do impulso unitário no SciLab.

Fonte: Autor.

Degrau Unitário

A função degrau é descrita pelo código:

function [y]=degrau(x)
y = zeros(1, length(x));
y(find(x>=0)) = 1;
endfunction

Este código é muito parecido com o impulso unitário, a única parte que difere é a linha 3, então
vamos compreendê-la.

find(x>=0): Este comando irá retornar todos os números maiores que zero.

y(find(x>=0))=1: Todas as posições maiores que zero receberam 1 no vetor y.

Então a ideia é que quando receber um vetor, por exemplo -3:3, as posições 0, 1, 2 e 3
receberam o valor 1. A seguir um exemplo de uso desta função.

Práticas SciLab 9 Eng. Charles Way Hun Fung MSc.


Plotando d teremos:

Figura 5 – Plotagem do degrau unitário.

Fonte: Autor.

Exponencial

A função exponencial já é definida no SciLab como a função exp, sua sintaxe é:

<vetor_exponencial> = exp(<vetor_referência>)

Exemplo:

Práticas SciLab 10 Eng. Charles Way Hun Fung MSc.


A plotagem desta curva pode seguir duas perspectivas, contínua ou discreta.

Para a plotagem contínua utilizaremos o comando:

Figura 6 – Exponencial contínua.

Fonte: Autor.

Perceba na figura 6 que a sequência ‘e’ possui apenas 7 pontos, isto ocasionará em uma
curva pouco arredondada.

A plotagem discreta utilizaremos o comando:

Figura 7 – Exponencial discreta.

Fonte: Autor

Práticas SciLab 11 Eng. Charles Way Hun Fung MSc.


Aumentando a quantidade de pontos que formam o sinal, temos resultados interessantes nos
gráficos contínuo e discreto:

Para isto fazemos o código:

Figura 8 – Exponencial contínua com mais pontos.

Fonte: Autor.

Figura 9 – Exponencial discreta com mais pontos.

Fonte: Autor.

Práticas SciLab 12 Eng. Charles Way Hun Fung MSc.


Senoide

Como a exponencial, a função seno também já está definida no SciLab. A sintaxe desta função
é apresentada a seguir:

<vetor_senoide> = sin(<vetor_referência>)

Exemplo:

A senoide também pode ser plotada de forma contínua e discreta:

- Contínua:

Figura 10 – Senoide contínua.

- Discreta:

Figura 11 – Senoide discreta.

Práticas SciLab 13 Eng. Charles Way Hun Fung MSc.


Referências

[1] F. Frederico F. Campos, Fundamentos de SCILAB, Belo Horizonte: UFMG, 2010.

[2] A. S. W. Alan V. Oppenheim, Sinais e sistemas, São Paulo: Pearson, 2010.

Práticas SciLab 14 Eng. Charles Way Hun Fung MSc.

Você também pode gostar