Académique Documents
Professionnel Documents
Culture Documents
GERAIS PUCMG
DEPARTAMENTO DE ENGENHARIA ELTRICA
Belo Horizonte
2017
Brenda Martinelle Oliveira
Bruno Henrique Peixoto de Almeida
Belo Horizonte
2017
LISTA DE FIGURAS
LISTA DE TABELAS
Sumrio
INTRODUO ........................................................................................................................ 6
INTRODUO
1
Chapman. Stephen J. Programao em MATLAB para Engenheiros. Ed Thomson, 2003, p. 2.
7
1 FUNDAMENTAO TERICA
Para iniciar basta dar um duplo clique no cone MATLAB e aguardar carregar o
aplicativo. Uma vez iniciado aparecer uma janela de comandos e o prompt padro (EDU
>> ou >>) exibido na tela. A partir deste ponto o MATLAB aguarda um comando (instruo
do usurio). Todo comando deve ser finalizado com enter.
Fonte: Tonini, Adriana M. ; Schettino, Daniela N., MATLAB para Engenharia, 2002
Fonte: Tonini, Adriana M. ; Schettino, Daniela N., MATLAB para Engenharia, 2002
8
Note que (=) usado para atribuio a uma varivel e (==) usado para comparao. O
resultado de uma operao lgica ou relacional verdadeiro ou falso, e o MATLAB retorna 0
como falso e 1 como verdadeiro. Por exemplo:
>> 5>8
ans =
0
>> 6==6
ans =
1
Fonte: Tonini, Adriana M. ; Schettino, Daniela N., MATLAB para Engenharia, 2002
Para declarar uma varivel basta usar igualdade. O sinal (=) significa atribuio. O que
estiver direita do sinal de igual colocado na varivel que estiver esquerda. Por
exemplo:
>> a = 3; b=4;
>> soma = a+b
soma =
7
Fonte: Tonini, Adriana M. ; Schettino, Daniela N., MATLAB para Engenharia, 2002
No MATLAB pode se pedir ajuda sobre qualquer comando ou funo. Isto pode ser
feito basicamente de trs formas: interativamente atravs do menu de barras, atravs do
comando help ou atravs do comando lookfor.
Digitando-se simplesmente o comando help o MATLAB mostra uma listagem de
todos os pacotes disponveis. Para ajuda sobre um comando ou pacote especfico basta digitar
help <tpico>, onde tpico o nome de um pacote, comando ou funo.
Caso o usurio no conhea o tpico, existe um comando interessante em que pode-se
procurar por palavras chaves chamado lookfor. Sua sintaxe lookfor< palavra-chave>. Ele
retorna ao usurio todos os tpicos que possuem aquela palavra chave.
>> Z1 = 3 +j*5
Z1 =
3.0000 + 4.0000i
>>Z2 = 5+7*i
Z2 =
5.0000 + 7.0000i
1.7 VETORES
Fonte: Tonini, Adriana M. ; Schettino, Daniela N., MATLAB para Engenharia, 2002
Nos exemplos acima os vetores possuem uma linha e vrias colunas (vetores linha).
Da mesma forma podem existir vetores colunas (uma coluna e vrias linhas). Para se criar um
vetor coluna os elementos devem ser separados por (;). Exemplo:
>> v = [1; 2; 3]
v=
1.000
2.000
3.000
O endereamento de vetores feito atravs de seu ndice. Para um vetor linha este
ndice identifica cada uma das colunas. Por exemplo:
>> x = [1 2 3 4 5 6 7 8 9 10];
>> x(3) % Acessa o terceiro elemento do vetor x
12
ans =
3
Fonte: Tonini, Adriana M. ; Schettino, Daniela N., MATLAB para Engenharia, 2002
1.8 MATRIZES
>> A = [1 2 3; 4 5 6; 7 8 9]
Pressionando <enter> o MATLAB mostra o resultado:
A=
13
1 2 3
4 5 6
7 8 9
Alm disso, em sua biblioteca de funes h um tpico com vrias funes matriciais
predefinidas que pode ser acessada pelo usurio.
Um elemento individual da matriz pode ser acessado incluindo os seus subscritos entre
parnteses. Por exemplo, dada a matriz A:
>> A = [1 2 3; 4 5 6; 7 8 9]
A=
1 2 3
4 5 6
7 8 9
a declarao
>> A(3,3) % Indica o elemento da matriz A da terceira linha e terceira coluna
ans =
9
14
>> A(1,:)
ans =
1 2 3
if <condio>
<comandos>
end
No caso de haver duas alternativas, uma outra estrutura condicional deve ser usada:
if <condio>
<comandos 1>
else
<comandos 2>
end
A estrutura de repetio faz com que uma sequncia de comandos seja executada
repetidamente at que uma dada condio seja satisfeita. O MATLAB possui duas estruturas
de repetio: a estrutura for-end e while-end.
A estrutura for-end permite que um grupo de comandos seja repetido um nmero especfico
de vezes. Sua estrutura
for i=1:5
x(i) = i^2
end
while <condio>
<comandos>
End
A funo mais comumente usada para entrada de dados pelo usurio no MATLAB
input. Sua sintaxe :
RESULT = input (PROMPT)
Onde a varivel RESULT recebe o valor de entrada do usurio. Pode ser escrito um
texto que aparece para o usurio. A entrada de dados tambm pode ser feita com uma caixa de
dilogo usando o inputdlg. Neste caso, a caixa de dilogos ter n linhas e m colunas, e cada
varivel ser guardada numa posio da matriz. Pode-se ainda predefinir os valores default
que sero atribudos. Essa funo armazena esses dados de entrada como texto (STRINGS).
Para utiliz-los em expresses matemticas necessrio converter para valores numricos, o
que pode ser feito pela funo do MATLAB str2double.
17
2 DESENVOLVIMENTO PRTICO
%PROJETO 02
%PROGRAMA PARA CALCULO DA TENSAO Ef DE UM GERADOR PARA UMA DADA CONDIO
%DE CARGA
clc, clear;
%DIMENSIONAMENTO DE MATRIZES
num_carga=zeros(1,6);
num_LT=zeros(1,4);
num_gerador=zeros(1,5);
%ENTRADA DE DADOS DA CARGA
prompt= {'ENTRE COM A POTNCIA ATIVA - MW:', 'ENTRE COM A POTNCIA REATIVA
MVar- Q>0 CARGA INDUTIVA:',...
'ENTRE COM A TENSO - MDULO P.U:','ENTRE COM A TENSO - NGULO
GRAUS:', 'ENTRE COM A POTNCIA REATIVA DO CAPACITOR - Q1<0 MVar:',...
'BANCO CAPACITOR Q1 LIGADO/DESLIGADO:'};
dlg_title= 'ENTRADA DE DADOS DA CARGA';
num_lines= 1;
def= {'100','10','1.0','0','-10.0','1'};
dados_carga= inputdlg (prompt,dlg_title,num_lines,def);
18
%INICIAR MODELAGEM
Sb=100; %Potncia base
Vb=138; %tenso base
scarga=complex(num_carga(1,1),num_carga(1,2))/Sb; %Potncia da carga em PU
scarga=conj(scarga); %conjugado
Vcarga=complex(num_carga(1,3),0); %tenso na carga
Icarga=scarga/Vcarga; %Corrente na carga
19
scarga_mod= abs(scarga)*100
%---------------------------------------------------------
%BANCO DE CAPACITOR Q1
Sbc1=complex(0,(num_carga(1,5)))/Sb; %Potncia do banco de capacitor
Sbc1=conj(Sbc1);
if num_carga(1,6)==0
Ibc1=0;
else
Ibc1=Sbc1/Vcarga; %corrente no banco 1
end
Ilt=Icarga+Ibc1; %corrente na LT
Zlt=complex(num_LT(1,3),num_LT(1,2)); %impedncia da LT (Rlt+jXlt)
V2=Vcarga+Zlt*Ilt; %tenso na barra do gerador
V2_mod=abs(V2); %modulo da tenso na barra do gerador
%---------------------------------------------------------------------
%BANCO DE CAPACITOR Q2
Sbc2=complex(0,(num_gerador(1,4)))/Sb; %Potncia do banco de capacitor
Sbc2=conj(Sbc2);
if num_gerador(1,5)==0
Ibc2=0;
Igerador=Ilt;
else
Ibc2=Sbc2/V2; %corrente no banco Q2
Igerador=Ilt+Ibc2; %corrente no gerador
end
3 ANLISE DE RESULTADOS
Atravs das simulaes e dos grficos plotados podemos observar que a tenso Ef
diminui medida que so acionados os bancos de capacitores, pois o prprio banco gera
potencia reativa no circuito exigindo menos da fonte de tenso. Quando esses bancos so
desligados, a tenso aumenta tentando suprir a necessidade do circuito e com isso, os reativos
so gerados.