Função Degrau Unitário
O que é ?
A função degrau unitário (ou função de Heaviside) é muito utilizada na disciplina de Sinais e Sistemas Lineares e em análise de circuitos elétricos. Normalmente esta função é representada pela letra "u", e é dependente do tempo. Para valores de tempo menor que 0, a função vale 0, já para valores maiores ou iguais a 0, ela vale 1. Podendo ser representada
Pra que serve ?
Podemos usar a função degrau unitário para limitar o intervalo de outra função. Se tivermos um sinal y(t), como mostrado abaixo
Gráfico 1. |
Outra aplicação é para a representação de certas funções em termos de u(t). Isso pode ser conseguido com a manipulação da variável independente, no caso o tempo, manipulação da função u(t) além da combinação de diferentes funções degrau. Alguns exemplos se encontram logo abaixo
Gráfico 3. |
Gráfico 4. |
Gráfico 5. |
Como usar no SciLab ?
Programa que cria a função u(t). |
Agora vamos ver como é possível definir e trabalhar com a função u(t) no Scilab. Uma forma é construindo uma function, e salvando com a extensão sci. É bom lembrar que arquivos .sci devem ser carregados previamente (F5, função exec ou diretamente no botão Executar).
Para verificar se a nossa function funciona corretamente e se ela realmente representa a função u(t), vamos criar outro programa, agora com a extensão .sce, para gerar um gráfico. O intervalo de tempo será entre -100 e 100, com passo de 0.01. Também iremos redimensionar os eixos (coma função mtlb_axis()) para uma melhor visualização do resultado.
Programa que plota a função u(t). |
Gráfico 6. |
Outra forma mais interessante de criarmos a função degrau é usando a função " deff ", do SciLab. Essa função possuí basicamente a seguinte sintaxe
Como observação, no espaço escrito "comandos", deve ser incluído um conjunto de strings que represente uma sequência de instruções.
Com a função u(t) definida dessa forma, foram criados os gráfico 3, 4 e 5, onde tanto a variável " t ", quanto a função u(t) foram manipuladas. Então, para criar essas figuras, basta seguir o exemplo da figura ao lado. A função funcprot foi usada porque anteriormente, u(t) havia sido definida de outra forma. A variável tempo é um vetor com valor inicial -2 e valor final 2, tendo um incremento de 0.01. As variáveis "a" e "c" são inicialmente matrizes booleanas, ou seja, contém apenas "T" - true- ou "F" - false. A função bool2s converte a matriz booleana em uma matriz com zeros e uns, o que permite que elas sejam plotadas. A função scf atribui, nesse caso, o valor 4 à janela gráfica criada. clf é função que limpa a janela gráfica e plot produz o gráfico.
Os gráficos gerados nesta postagem podem ser reproduzidos com os seguintes programas
Scripts testados com: Scilab 5.5.2 (64-bit)
Scilab 6.0.0 (64-bit)*
* Nessa versão, tanto a plotagem quanto outras operações que envolviam a função u(t) definida por uma "function", apresentaram problemas, como mensagens de erro e elevado tempo de execução das instruções.
P.S.: Colocar a manipulação de u(t) diretamente na função plot, por exemplo, plot(t, u(t-1)), pode gerar ou não o gráfico. Isso vai depender do que é feito com a função.
Como observação, no espaço escrito "comandos", deve ser incluído um conjunto de strings que represente uma sequência de instruções.
Com a função u(t) definida dessa forma, foram criados os gráfico 3, 4 e 5, onde tanto a variável " t ", quanto a função u(t) foram manipuladas. Então, para criar essas figuras, basta seguir o exemplo da figura ao lado. A função funcprot foi usada porque anteriormente, u(t) havia sido definida de outra forma. A variável tempo é um vetor com valor inicial -2 e valor final 2, tendo um incremento de 0.01. As variáveis "a" e "c" são inicialmente matrizes booleanas, ou seja, contém apenas "T" - true- ou "F" - false. A função bool2s converte a matriz booleana em uma matriz com zeros e uns, o que permite que elas sejam plotadas. A função scf atribui, nesse caso, o valor 4 à janela gráfica criada. clf é função que limpa a janela gráfica e plot produz o gráfico.
Os gráficos gerados nesta postagem podem ser reproduzidos com os seguintes programas
Programa principal com extensão .sce. |
Função com extensão .sci. |
Scripts testados com: Scilab 5.5.2 (64-bit)
Scilab 6.0.0 (64-bit)*
* Nessa versão, tanto a plotagem quanto outras operações que envolviam a função u(t) definida por uma "function", apresentaram problemas, como mensagens de erro e elevado tempo de execução das instruções.
P.S.: Colocar a manipulação de u(t) diretamente na função plot, por exemplo, plot(t, u(t-1)), pode gerar ou não o gráfico. Isso vai depender do que é feito com a função.
Comentários
Postar um comentário