Вы находитесь на странице: 1из 26

UNIVERSIDADE FEDERAL DO PIAU

ENGENHARIA ELTRICA

APOSTILA DESTINADA A CIRCUITOS ELTRICOS

FUNDAMENTOS DE MATLAB

Autor:

Prof. Aryfrance Rocha Almeida

Teresina, Setembro de 2011


ndice

1 O Matlab ... .................................................................................. . 3


2 Ambiente Matlab ... ..................................................................... .. 3
2.1 Workspace ... ..................................................................................................................... 3
2.2 Abertura de arquivos ........................................................................................................ 4
3 Desenvolvimento de Programas (*.m) ........................................ . 5
3.1 Ambiente de Programao: ... ......................................................................................... 5
3.1.1 Programao do tipo Script (Roteiro) ... ................................................................ 5
3.1.2 Programao do tipo Function (Funo) .............................................................. 6
3.1.3 Exemplos de Aplicao ... ....................................................................................... 7
3.2 Vetores e Matrizes ............................................................................................................ 7
3.2.1 Acesso aos Elementos e Determinao da dimenso de Matrizes ................. 9
3.2.2 Exemplo de Programao Utilizando Matrizes ... ................................................ 9
3.3 Leitura e Gravao de Arquivos ... ............................................................................ ... 11
3.3.1 Leitura de Arquivos ............................................................................................. .. 11
3.3.2 Gravao de Arquivos ... ....................................................................................... 12
3.3.3 Aplicao ... ......................................................................................................... ... 13
4 Simulink ... ............................................................................... ... 14
4.1 Ambiente do Simulink e Manipulao de Blocos ................................................... ... 14
4.1.1 Construo de um modelo no Simulink ... .......................................................... 15
4.1.2 Programao por diagrama de blocos no Simulink: ......................................... 16
4.2 Utilizao do SimPowerSystem ... ............................................................................ ... 17
4.2.1 Montando Circuitos Eltricos ... ......................................................................... .. 17
4.2.2 Modelando os circuitos eltricos ...................................................................... ... 18
4.2.3 Interao Matlab-Simulink ... ............................................................................. ... 19
5 Introduo ao GUIDE ... ............................................................ . 20
6 Viso Geral de Toolboxes do Matlab ... .................................... . 24
6.1 Symbolic ... ................................................................................................................... ... 24
6.2 Data Acquisistion ... ......................................................................................................... 25
6.3 Signal Processing ........................................................................................................ .. 25
6.4 Statistics ... ........................................................................................................................ 26
1 O Matlab
O Matlab (Matrix Laboratory) um software interativo de alta performance voltado para o clculo
numrico e cientfico. Ele integra anlise numrica, clculo com matrizes,
processamento de sinais e construo de grficos em ambiente fcil de usar onde problemas e
solues podem ser expressos como eles so escritos na matemtica ou na forma de uma
linguagem de programao.
O Matlab uma ferramenta profissional utilizada mundialmente, principalmente por
engenheiros. Sua utilizao em larga escala se deve facilidade e praticidade de seu uso,
bem como a aplicabilidade e flexibilidade no auxlio soluo de problemas.
O objetivo desta apostila no apenas introduzir os principais conceitos acerca do Matlab, mas
principalmente possibilitar ao aluno a independncia na utilizao Matlab, de tal maneira
que se torne capaz de utiliz-lo como ferramenta para soluo dos mais diversos problemas
existentes na engenharia.

2 Ambiente Matlab
A figura abaixo retrata o ambiente de utilizao do Matlab. Pode-se visualizar ao mesmo
tempo a janela de comando, o workspace, o diretrio atual, e o histrico de comandos
digitados.

Criar
Programa Abrir
Simulink

2.1 Workspace

O workspace o local onde todas as variveis criadas ficam armazenadas, como pode ser
observado pela figura a seguir.
Variveis

Ao se observar a figura anterior, pode-se notar que os procedimentos executados na janela de


comando (Command Window) so armazenados temporariamente no workspace na forma
de variveis, de modo que ao fechar o Matlab ou ao digitar o comando clear todos os dados sero
perdidos.

2.2 Abertura de arquivos

Seleo de
Arquivos de Programa
Diretrios
(*.m)

Simulink
(*.mdl)

Arquivos de Dados
(*.mat)

Atravs da anlise da figura anterior, pode-se observar que os arquivos disponveis


correspondem queles existentes no diretrio selecionado.
3 Desenvolvimento de Programas (*.m)

O Matlab um interpretador de programas, ou seja, os programas desenvolvidos somente


podem ser executados em seu ambiente. O Matlab incapaz de converter o cdigo fonte em
linguagem de mquina.
Em comparao a um compilador, um interpretador tem por vantagens a facilidade e
praticidade de implementao do cdigo, porm tem por desvantagens a lentido de
execuo e a incapacidade de criar programas executveis.
Para suprir estas desvantagens, o Matlab possui um toolbox denomidado Matlab
Compiler, atravs do qual possvel compilar programas apenas do tipo Function.
Inicialmente, para o desenvolvimento de uma rotina de programao necessrio conhecer o
ambiente de programao e os comando bsicos associados.

3.1 Ambiente de Programao:

Abrindo-se um novo arquivo mostrada a seguinte janela:

Abrir Novo Mostrar Rodar


Arquivo Funes Programa

A programao via Matlab pode ser de dois tipos, Script e Function, cada qual com suas
particularidades e funcionalidades.

3.1.1 Programao do tipo Script (Roteiro)

Um programa do tipo Script um arquivo (M-File) que contm uma seqncia de


comandos do Matlab. No necessitam de declaraes ou delimitadores de comeo e fim.
o tipo de programao mais simples. So muito teis para automatizao de comandos,
como cdigos que necessitam ser executados repetidamente. Scripts so capazes de utilizar
dados existentes no workspace, bem como criar novos dados. Qualquer varivel utilizada
gravada no workspace, possibilitando utilizaes futuras.

Um exemplo prtico, no qual o resultado a soma quadrtica de duas variveis, mostrado a


seguir:

*
x=3;
y=5;
Resultado=x^2+y^2
*

Ao se executar o programa, o Matlab exibe a seguinte resposta na janela de comando:

Resultado =

34

3.1.2 Programao do tipo Function (Funo)

As variveis criadas por este tipo de programa so locais e no ficam gravadas no


workspace aps a execuo do programa. Esta uma vantagem no que diz respeito
ocupao de memria.
Atravs deste tipo de programao o usurio capaz de criar qualquer funo desejada, fato que
auxilia na programao de cdigos extensos.

O mesmo exemplo mostrado no item 3.1.1 realizado atravs da criao de uma funo
denominada soma_quad. Inicialmente necessria a programao de um M-File com
nome idntico ao da funo a ser criada, como mostrado a seguir:

function soma_quad(x,y)
x^2+y^2

A funo acessada atravs do seguinte comando: >>

Reultado=soma_quad(3,5)

O Matlab entrega ao usurio a seguinte resposta:

Resultado =

34
3.1.3 Exemplos de Aplicao

Neste item da apostila sero apresentados alguns exemplos de rotinas de programao,


dando nfase manipulao de vetores e matrizes, bem como a implementao de lgicas
utilizado os seguintes comandos: for, if e outros.

Utilizao de for

clear all
n=input(Digite o nmero de elementos:)
for x=1:1:n
y(x)=x^2;
end
y

Utilizao de if

clear all
n=input(Digite o nmero de elementos:)
for x=1:1:n
y(x)=x^2;
if y(x)>50
disp('y maior que 50')
else
disp('y menor que 50')
end
end
y

3.2 Vetores e Matrizes

A prxima figura mostra como criar um vetor ou uma matriz, utilizando um arquivo (*.m),
salvado-os em suas respectivas variveis.
Ao se rodar o programa, as variveis V, M e M1 estaro salvas no Workspace, conforme
mostrado a seguir:

Observaes:

Para no mostrar no workspace as variveis criadas, coloque ; ao terminar de


criar a mesma;
Para apagar as variveis existentes no workspace digite clear no command window.
3.2.1 Acesso aos Elementos e Determinao da dimenso de Matrizes

Uma vez apresentada a maneira de se criar vetores e matrizes, de fundamental


importncia determinar a sua dimenso e acessar um determinado elemento de
interesse. Deste modo, a prxima figura apresenta os respectivos comandos para tais
finalidades.

Acesso ao elemento

Comando

3.2.2 Exemplo de Programao Utilizando Matrizes

- Aplicao da Regra de Cramer (Soluo de Sistemas)

Neste exemplo, sero abordados alguns clculos matemticos utilizando matrizes e


vetores. Com o objetivo de apresentar uma aplicao prtica, a metodologia de Crammer,
ser utilizada para determinar as tenses V1 e V2 do seguinte circuito, o qual foi resolvido pelo
mtodo nodal.
V1 V2

2 ohm 6 ohm 10 ohm

8V
DC
DC 1V

4 ohm

3 ohm

Verificar os seguintes resultados salvos no workspace:

A=
0.9167 -0.1667
-0.1667 0.6000

b=
4.0000
-0.1000

v1 = 4.5638

v2 = 1.1011
- Clculo da Potencia Mdia:

Sinais
Contnuos

Definio do
Incremento

Somatrio
Ponto a ponto
dos vetores

3.3 Leitura e Gravao de Arquivos

O Matlab possibilita a leitura e gravao de arquivos em diversos formatos, como por


exemplo, texto, separado por vrgulas, separado por delimitadores, planilha do Excel, entre
outros.
Os itens subseqentes demonstram aplicaes dos principais comandos de leitura e
gravao.

3.3.1 Leitura de Arquivos

- Leitura de arquivos *.mat

load(nome_do_arquivo) % L todos os objetos do arquivo

load(nome_do_arquivo, objeto1, objeto2, ...) % L apenas os objetos especificados


- Leitura de arquivos *.txt

textread('nome_do_arquivo.txt') % L arquivos *.txt

dlmread('nome_do_arquivo.txt', delimitador) % L arquivos *.txt utilizando um delimitador

csvread('nome_do_arquivo.txt') % L arquivos *.txt utilizando vrgulas como delimitadores

Dica: Procurar no Help do Matlab as variaes de cada comando, observando a


flexibilidade de cada um.

Exemplo:

Crie um arquivo texto da seguinte maneira:

1234
5678

Salve o arquivo com o nome de arq1.txt

Leia o arquivo atravs do Matlab, utilizando cada um dos comandos descritos acima.

- Leitura de arquivos *.xls (planilhas do Excel)

xlsread('nome_do_arquivo.xls')

Dica: Procurar no Help do Matlab as variaes deste comando.

3.3.2 Gravao de Arquivos

- Gravao de arquivos *.mat

save(nome_do_arquivo) % Grava todos os objetos em um arquivo

save(nome_do_arquivo, objeto1, objeto2, ...) % Grava apenas os objetos especificados

Dica: Procurar no Help do Matlab a funcionalidade do comando saveas


- Gravao de arquivos *.txt

dlmwrite('nome_do_arquivo.txt', objeto, delimitador) % Grava arquivos *.txt utilizando um


delimitador

csvwrite('nome_do_arquivo.txt', objeto) % Grava arquivos *.txt utilizando vrgulas como


delimitadores

Dica: Procurar no Help do Matlab as variaes de cada comando, observando a


flexibilidade de cada um.

Exemplo:

Crie a seguinte matriz no Matlab:

M= [10 20 30; 40 50 60];

Grave o objeto M em arquivos texto, atravs do Matlab, utilizando os comandos descritos


acima.

- Gravao de arquivos *.xls (planilhas do Excel)

xlswrite('nome_do_arquivo.xls', objeto)

Dica: Procurar no Help do Matlab as variaes deste comando.

3.3.3 Aplicao

Crie um programa (*.m) em Matlab que leia uma tabela de valores de tenso e corrente e
posteriormente calcule, dependendo da vontade do usurio, ou a potncia ou a impedncia.
Por fim, grave outro arquivo texto contendo uma tabela com os resultados desejados pelo
usurio.
4 Simulink
O aplicativo Simulink contm todos os blocos que o usurio precisa para construir um
modelo. Os blocos contidos nas bibliotecas do Simulink permitem a realizao de
operaes matemticas, simulao de chaves e conectores de circuitos eltricos, simulao de
elementos de controle e etc.
Devido vasta quantidade de bibliotecas presentes no Simulink, este curso ir abordar, alm
da prpria Simulink, a biblioteca SimPowerSystems.
A escolha desta biblioteca est relacionada a sua maior aplicabilidade para estudantes de
Engenharia Eltrica, os quais iro certamente utilizar as simulaes para resolver problemas de
engenharia.

4.1 Ambiente do Simulink e Manipulao de Blocos

Para iniciar o aplicativo digite Simulink na rea de trabalho, ou clique no cone . Este
comando ir acionar um conjunto de bibliotecas, da seguinte forma:

Por exemplo, abra a biblioteca denominada Simulink e posteriormente abra a sub-


biblioteca Math Operations. Confira estes passos com as figuras abaixo.

Clique duas vezes

Observe rapidamente todas as sub-bibliotecas dentro da biblioteca Simulink.


4.1.1 Construo de um modelo no Simulink

Crie um novo modelo, de acordo com a figura abaixo:

Clique aqui para iniciar a construo de um novo modelo.

Construa o seguinte modelo e apresente os resultados:

1 1 1 1 1
saida = sen (2 60) + sen (2 180) + sen (2 300) + sen (2 420) + sen (2 540) + sen (2 660)
7 9 11
3 5

Para executar uma simulao, primeiramente deve-se ajustar os parmetros de simulao no menu
Simulation, item Simulation Parameters.
Aps estes ajustes deve-se executar a simulao, ou pelo menu Simulation, item Start, ou pelo
atalho mostrado abaixo:

4.1.2 Programao por diagrama de blocos no Simulink:

A biblioteca Simulink permite que se utilize a tcnica de programao por diagramas de


blocos. Como exemplo, abaixo est mostrada a equao e a implementao de um bloco
para o clculo do valor eficaz de um sinal.

1T 2
VRMS =
T v
0
Para implementar esta tcnica, pode-se criar tambm, um bloco que calcule potncia ativa,
potncia reativa, potncia aparente e fator de potncia, como mostram as expresses
abaixo:

1T
P=
T v i dt
0

v i + v i + + v i
P= 1 1 2 2 n n
n

v i + v i ++ v i
o 1 o
Q= 1 90 2 90 2 o n
n 90
n
2 2
S=V I = P +Q
RMS RMS

P
FP =
S

De acordo com as expresses matemticas pode-se implementar os blocos para obter os


resultados desejados.

Ateno: Estes dois blocos criados sero utilizados posteriormente, quando da medio das
grandezas eltricas, referentes ao circuito a ser modelado no item seguinte. Estes resultados
podero ser comparados com os dos blocos j existentes no Simulink.

4.2 Utilizao do SimPowerSystem

4.2.1 Montando Circuitos Eltricos

Clique duas vezes

Esta biblioteca disponibiliza ao usurio os elementos bsicos para a construo de um


modelo de circuito eltrico. H tambm os blocos de medies de grandezas eltricas, os
quais efetuam os clculos de corrente, tenso, potncia e etc. Para a visualizao dos
resultados das grandezas deve-se utilizar os Displays, e para visualizar as formas de onda a
pode-se utilizar o Scope. O bloco To Workspace exporta os valores instantneos das
variveis.
Pode-se montar o seguinte modelo, como exemplo de aplicao:
4.2.2 Modelando os circuitos eltricos

Implemente os seguintes valores:

R = 0.05; L=0; C=inf;

P=1000; QL=0; QC=0;

Peak Amplitude = 100;

Feito isto, disponha os medidores de tenso e corrente, de forma a obter as formas de onda
destas grandezas.

Medidores:

Acesso aos medidores:

Visualizao dos resultados:


Implemente tambm no circuito, o bloco de clculo dos valores eficazes de tenso e
corrente, e o display que permite a visualizao destes resultados.

Bloco de clculo do valor eficaz:

Bloco de Display:

Simule o sistema modelado e obtenha os resultados medidos.

Compare os resultados obtidos pelos blocos implementados no item 4.1.2 com os dos
blocos fornecido pelo prprio Simulink.

4.2.3 Interao Matlab-Simulink

Para se montar um modelo com uma maior flexibilidade, pode-se lanar mo da


manipulao de variveis presentes no Workspace e aplicao do Bloco To workspace no
circuito modelado, para tanto:

Coloque variveis nos parmetros (R, L, C, P, QL, QC e Peak Amplitude)


presentes no modelo;

Crie um arquivo *.m definindo valores para as variveis do modelo;

Simule o modelo, atravs da utilizao do comando sim no arquivo *.m;

Obtenha a formas de onda da tenso e da corrente utilizando o comando plot,


ainda no arquivo *.m.

Esta interao entre Matlab e Simulink de extrema importncia, entre outros casos, para
situaes de modelagem mais complexas e simulaes repetitivas.
5 Introduo ao GUIDE
Esta ferramenta do Matlab tem por finalidade auxiliar o desenvolvimento de interfaces
grficas, de modo que a relao entre o programa desenvolvido e o respectivo usurio se
torne amigvel.
A seguir, sero apresentados os procedimentos para criar uma interface, onde o usurio
entra com os valores de algumas variveis e posteriormente pode visualizar os resultados
provenientes de uma determinada rotina de programao implementada.

- Ambiente de Desenvolvimento:

Acessrios

- Para entrar com uma determinada varivel: EDIT

Identificao
da varivel
O bloco de Edit Text pode servir para entrada de uma varivel, bem como para visualizar
algum valor de interesse, por exemplo, um resultado de uma conta feita em um programa. Para
isto, segue os seguintes comandos:

Entrar com a varivel digitada na interface:

Comando: V=str2num(get(handles.variavel1,'string'));

Converte uma string em um nmero Tag

Mostrar um determinado valor no Edit Text:

Comando: set(handles.valor,'string',X)

Tag Variavel

Para chamar a rotina de programao correspondente a interface em questo, pode-se


utilizar o bloco push button, conforme apresentado no exemplo a seguir:

A rotina de programao (*.m) correspondente a seguinte:


Funes

Chamando a Funo Calcular:

Assim, tem-se o seguinte programa teste:


Outra importante aplicao da interface grfica consiste em controlar os parmetros de um
determinado circuito eltrico (modelado no simulink), bem como capturar e visualizar os
resultados obtidos no mesmo.
Exemplo de uma interface criada para o controle dos parmetros de um circuito eltrico
modelado no simulink.
6 Viso Geral de Toolboxes do Matlab

6.1 Symbolic

Este toolbox possibilita ao usurio do Matlab realizar operaes literais, ou seja, obter
resultados atravs de expresses simblicas.
Ele capaz de realizar operaes de clculo, como derivadas e integrais, operaes de
lgebra linear, simplificaes, solues de equaes, operaes aritmticas, converses,
transformadas, etc.
Para exemplificar a utilizao deste toolbox, pode-se lanar mo de um clculo bem
simples, de acordo com a rotina abaixo:

**
clear
clc

syms x

y=x^2
comp=y*x+2*y+sqrt(x)-y^3

derivada=diff(y)
integral=int(y)

derivada_comp=diff(comp)
integral_comp=int(comp)

**

Exerccio: Faa o Jacobiano em relao s duas variveis que determinam as expresses


encontradas na seguinte matriz:

Sugesto: procure no Help informaes sobre o comando jacob.


6.2 Data Acquisistion

O Data Acquisition Toolbox permite ao usurio operar placas de aquisio de dados. Em


outras palavras, controla os processos de converso AD e DA.

Uma aquisio deve seguir os seguintes passos:

Identificao do Hardware
o ai = analoginput('winsound');
Adio de canais
o addchannel(ai,1:2);
Configurao dos parmetros de aquisio
o set(ai,'SampleRate',10000)
o set(ai,'SamplesPerTrigger',1000)
Aquisio de dados
o start(ai)
o data = getdata(ai);
o plot(data)

6.3 Signal Processing

Este toolbox fornece ao usurio uma srie de comandos que realizam vrios tipos de
tcnicas de tratamento de sinais. Uma das mais comuns a utilizao de filtros. A ttulo de
exemplo, pode-se implementar um filtro digital IIR (Infinite Impulse Response) no Matlab da
seguinte forma:

**
t=linspace(0,0.1,1000);
sinal=100*sin(2*pi*60*t)+10*sin(2*pi*1500*t);
figure
subplot(2,1,1)
plot(t,sinal)

fs=10000;
fc=1000;
[B,A]=butter(4,(fc/(fs/2)),'low');
saida=filter(B,A,sinal);
subplot(2,1,2)
plot(t,saida)
**

Existe uma grande gama de opes de utilizao deste toolbox. Dentre as opes
encontradas pode-se destacar, alm dos filtros, a aplicao de transformadas, regresses
lineares, modulao e demodulao, codificao e decodificao, entre outras.
Um assistente de muita utilidade que este toolbox possui, o assistente de projeto de filtros, que
pode ser acessado atravs do comando fdatool.
6.4 Statistics

O Statistics Toolbox uma ferramenta muito verstil e completa. Atravs dela possvel, por
exemplo:

Especificar funes para cada tipo de distribuio;


Realizar plotagens estatsticas, como histogramas;
Fazer regresses no-lineares;
Testes de hipteses;
Modelos de Markov;
Etc.

Este toolbox permite a gerao de nmeros aleatrio, por exemplo, pode-se digitar o
comando rand na rea de trabalho.

Como exemplo, pode-se traar um histograma de uma varivel aleatria. A pequena rotina
abaixo, realiza este procedimento:

**
x1=rand(1,100000);
figure
hist(x1)
**

O comando rand realiza sorteios seguindo uma distribuio uniforme, ou seja, no h


nenhuma tendncia quando da ocorrncia do sorteio. Pode-se utilizar uma distribuio
normal ao invs da uniforme, substituindo o comando rand pelo comando randn.
Executando o programa novamente, pode-se perceber pelo histograma a formao de uma
gaussiana, ou seja, o sorteio passa a seguir uma tendncia pr-definida.

Outra grande utilidade deste toolbox a simulao Monte Carlo. Em termos simples, este tipo
de simulao consiste na realizao de um nmero elevado de sorteios. Teoricamente, se o
nmero de sorteios for infinito, a probabilidade calculada ser correta. Praticamente, pode-se
elevar o nmero de sorteios at o limite de cada mquina.

Crie uma simulao Monte Carlo que calcule a probabilidade de se obter coroa quando do
lanamento de uma moeda. Considere que a moeda no viciada, ou seja, utilize a
distribuio uniforme. Aumente gradativamente o nmero de sorteios, at alcanar um erro
desprezvel, em relao probabilidade terica.

Ainda, atravs deste toolbox, pode-se acessar alguns assistentes, por exemplo, utilizando o
comando randtool. Este assistente permite a gerao de nmeros aleatrios de variadas
formas.

Вам также может понравиться