Você está na página 1de 20

Engenharia Elétrica

Projeto Integrador – Modelagem de Sistemas Elétricos

Sumário
1. INTRODUÇÃO ................................................................................................................... 2
1.1 Constantes.......................................................................................................................... 2
1.2 Variáveis ............................................................................................................................. 3
1.3 Comando de Atribuição...................................................................................................... 3
1.4 Variáveis Especiais.............................................................................................................. 4
1.5 Vetores ............................................................................................................................... 4
2. Sinais básicos no SciLab .................................................................................................... 6
2.1 Impulso Unitário ................................................................................................................. 6
2.1.1 Exemplo da função Impulso ....................................................................................... 9
2.2 Degrau Unitário ................................................................................................................ 10
2.2.1 Exemplo da função Degrau ...................................................................................... 10
2.3 Exponencial ...................................................................................................................... 11
2.4 Aumentando o número de pontos na curva .................................................................... 13
2.5 Senoide ............................................................................................................................. 16

1
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

1. INTRODUÇÃO
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/ >

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;

1.1 Constantes

O SciLab pode comportar três tipos de constantes:

a) 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:
-->1.23
ans =
1.23
b) Lógicos
Uma constante lógica pode assumir dois valores possíveis: verdadeiro %t e falso %f.
Exemplo:
-->%f -->%t
ans = ans =
F T

2
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

c) 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:
--> “texto” --> ‘Hello World’
ans = ans =
“texto” “Hello World”

1.2 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 quadro
01:
Quadro 01: Regras para a nomenclatura de variáveis.
Regra Comentário
Conter até 24 caracteres; Caracteres além do 24º são ignorados;
Começar com uma letra seguida de letras, Alguns caracteres de pontuação são
números ou dos caracteres:_, #, $, !, e ?; permitidos
Tamanho da letra é diferenciador Raiz, raiz e RAIZ são três variáveis
distintas

1.3 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:
-->var = 10
var =
10.

Caso seja colocado ‘;’ no final da expressão, o resultado não é apresentado no terminal:
-->var = 10;

3
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

1.4 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 no quadro 02:
Quadro 2 – Variáveis Especiais.
Variável Valor Exemplos
ans Nome de variável default usada para resultados
Base do logaritmo natural, e = 2,71828 -->%e
%e %e =
2,7182818
Menor número de ponto flutuante que
adicionada a 1 resulta um número maior que 1.
%eps Seu valor è ε = 2-52 ≈ 2,2204 . 10-16 em
computadores com aritmética de ponto
flutuante IEEE.
%i i = √ -1;
%inf Infinito, por exemplo, 1/0;
Não é um número (Not-a-number), por
%nan
exemplo, 0/0
ℼ = 3,14159 ... -->%pi
%pi %pi =
3,1415927
%s Usada como variável de polimônio
clc Limpa a tela

1.5 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:

4
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

--> vet = [1 2 3 4]
vet =
1. 2. 3. 4.
--> vet2 = [1.1, 2.1, 3.4]
vet2 =
1.1 2.1 3.4

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á


considerado1, 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:

5
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

2. 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.

2.1 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:

E sua representação gráfica é:

Figura 1 - Impulso unitário.

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 2 – Aba para acesso a ferramenta SciNote.

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:

6
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Figura 3 – Função impulso na ferramenta SciNote.

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á entreparê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.
7
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Na quarta linha:
endfunction: Fim de função.

Depois da implementação desta função deve-se clicar em executar.

Figura 4 – Localização do botão ‘Executar’ na ferramenta SciNote.

Se tudo ficou correto, irá apenas aparecer uma linha de confirmação no terminal do
SciLab.

8
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

2.1.1 Exemplo da função Impulso

No prompt do Scilab digite n = -3:3 e depois pressione Enter:

Digite x = Impulso (n) e depois pressione Enter:

Observe que apenas no ponto onde tem zero no vetor n, apareceu o número 1 no vetor
x. Para plotar digite plot2d3(n,x) e depois pressione Enter.

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

9
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

2.2 Degrau Unitário


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

Figura 6 – Função degrau na ferramenta SciNote.


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.
2.2.1 Exemplo da função Degrau

No prompt do Scilab digite n = -3:3 e depois pressione Enter:

Digite d = Degrau (n) e depois pressione Enter:

10
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Para plotar digite plot2d3(n,d) e depois pressione Enter.

Figura 7 – Plotagem do degrau unitário no SciLab.

2.3 Exponencial
A função exponencial já é definida no SciLab como a função exp, sua sintaxe é:
<vetor_exponencial> = exp(<vetor_referência>)
Exemplo:
No prompt do Scilab digite n = -3:3 e depois pressione Enter:

11
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Digite e = exp (n) e depois pressione Enter:

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


Para a plotagem contínua utilizaremos o comando: plot (n,e)

Figura 8 – Plotagem de uma curva exponencial contínua no SciLab.

12
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

A plotagem discreta utilizaremos o comando: plot2d3(n,e)

Figura 9 – Plotagem de uma curva exponencial discreta no SciLab.

2.4 Aumentando o número de pontos na curva

Para Aumentar a quantidade de pontos que formam o sinal, temos resultados


interessantes nos gráficos contínuo e discreto:
Para isto digite o comando: n = -3:0.1:3

13
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Depois digite: e = exp(n)

Digite plot(n,e)

Figura 10 – Plotagem de uma curva exponencial contínua com mais pontos no SciLab.

14
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Digite plot2d3(n,e)

Figura 11 – Plotagem de uma curva exponencial discreta com mais pontos no SciLab.

15
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

2.5 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>)

Digite o comando: n = 0:0.1:2*%pi; e pressione Enter


Depois digite o comando: s = sin(n); e pressione Enter
Para plotar a senoide forma contínua digite: plot(s)

Figura 12 – Plotagem da forma de onda senoidal contínua no SciLab.

16
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Para plotar a senoide forma discreta digite: plot2d3(s)

Figura 13 – Plotagem da forma de onda senoidal discreta no SciLab.

Para o comando plot tem-se os parâmetros x, y representam duas matrizes de mesmo


tamanho, [nl, nc] onde nc é o número de curvas e nl é o número de pontos de cada curva.
Para gerar um gráfico de sen(x) em função de x temos: plot(x,y).

--> x = linspace(-8,8,50);
--> y = sin(x);
--> z = cos(x);
--> plot(x,y)

17
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Para elaborar gráficos com linhas e cores diferentes temos que seguir a sintaxe utilizando:

18
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Utilizando a sintaxe plot(x,y,'-*', x,z,'--o') teremos o seguinte gráfico:

Para colocar títulos e rótulos temos:


--> plot(x,y,'-*', x,z,'--o')
--> xtitle('funcoes seno e co-seno','eixo x','eixo y')
--> xstring(4.1,0.7,"cos(x)")
--> xstring(6.1,-0.6,"sen(x)")

19
Engenharia Elétrica
Projeto Integrador – Modelagem de Sistemas Elétricos

Para colocar a legenda:


legend([‘sen(x)’,’cos(x)’],5)

20

Você também pode gostar