Beruflich Dokumente
Kultur Dokumente
“FUNDAMENTOS DE MATLAB”
Autores:
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 Programação: .................................................................................... 5
3.1.1 Programação do tipo Script (Roteiro)............................................................. 5
3.1.2 Programação do tipo Function (Função) ........................................................ 6
3.1.3 Exemplos de Aplicação .................................................................................. 7
3.2 Vetores e Matrizes.................................................................................................. 7
3.2.1 Acesso aos Elementos e Determinação da dimensão de Matrizes ................. 9
3.2.2 Exemplo de Programação Utilizando Matrizes .............................................. 9
3.3 Leitura e Gravação de Arquivos........................................................................... 11
3.3.1 Leitura de Arquivos ...................................................................................... 11
3.3.2 Gravação de Arquivos .................................................................................. 12
3.3.3 Aplicação...................................................................................................... 13
4 Simulink....................................................................................14
4.1 Ambiente do Simulink e Manipulação de Blocos ................................................ 14
4.1.1 Construção de um modelo no Simulink ....................................................... 15
4.1.2 Programação por diagrama de blocos no Simulink:..................................... 16
4.2 Utilização do SimPowerSystem ........................................................................... 17
4.2.1 Montando Circuitos Elétricos....................................................................... 17
4.2.2 Modelando os circuitos elétricos .................................................................. 18
4.2.3 Interação Matlab-Simulink ........................................................................... 19
5 Introdução ao GUIDE .............................................................20
6 Visão 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
cálculo numérico e científico. Ele integra análise numérica, cálculo com matrizes,
processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas
e soluções podem ser expressos como eles são escritos na matemática ou na forma de uma
linguagem de programação.
O Matlab é uma ferramenta profissional utilizada mundialmente, principalmente por
engenheiros. Sua utilização em larga escala se deve à facilidade e praticidade de seu uso,
bem como a aplicabilidade e flexibilidade no auxílio à solução de problemas.
O objetivo desta apostila não é apenas introduzir os principais conceitos acerca do Matlab,
mas principalmente possibilitar ao aluno a independência na utilização Matlab, de tal
maneira que se torne capaz de utilizá-lo como ferramenta para solução dos mais diversos
problemas existentes na engenharia.
2 Ambiente Matlab
A figura abaixo retrata o ambiente de utilização do Matlab. Pode-se visualizar ao mesmo
tempo a janela de comando, o workspace, o diretório atual, e o histórico de comandos
digitados.
Criar
Programa Abrir
Simulink
2.1 Workspace
O workspace é o local onde todas as variáveis criadas ficam armazenadas, como pode ser
observado pela figura a seguir.
Variáveis
Seleção de
Arquivos de Programa
Diretórios
(*.m)
Simulink
(*.mdl)
Arquivos de Dados
(*.mat)
A programação via Matlab pode ser de dois tipos, Script e Function, cada qual com suas
particularidades e funcionalidades.
**********************
x=3;
y=5;
Resultado=x^2+y^2
**********************
Resultado =
34
As variáveis criadas por este tipo de programa são locais e não ficam gravadas no
workspace após a execução do programa. Esta é uma vantagem no que diz respeito à
ocupação de memória.
Através deste tipo de programação o usuário é capaz de criar qualquer função desejada, fato
que auxilia na programação de códigos extensos.
O mesmo exemplo mostrado no item 3.1.1 é realizado através da criação de uma função
denominada “soma_quad”. Inicialmente é necessária a programação de um M-File com
nome idêntico ao da função a ser criada, como mostrado a seguir:
************************
function soma_quad(x,y)
x^2+y^2
************************
>> Reultado=soma_quad(3,5)
Resultado =
34
3.1.3 Exemplos de Aplicação
Utilização de for
************************
clear all
n=input(‘Digite o número de elementos:’)
for x=1:1:n
y(x)=x^2;
end
y
************************
Utilização de if
************************
clear all
n=input(‘Digite o número 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
************************
A próxima figura mostra como criar um vetor ou uma matriz, utilizando um arquivo (*.m),
salvado-os em suas respectivas variáveis.
Ao se rodar o programa, as variáveis V, M e M1 estarão salvas no Workspace, conforme
mostrado a seguir:
Observações:
Acesso ao elemento
Comando
8V
DC
DC 1V
4 ohm
3 ohm
A=
0.9167 -0.1667
-0.1667 0.6000
b=
4.0000
-0.1000
v1 = 4.5638
v2 = 1.1011
- Cálculo da Potencia Média:
Sinais
Contínuos
Definição do
Incremento
Somatório
Ponto a ponto
dos vetores
Exemplo:
1234
5678
Leia o arquivo através do Matlab, utilizando cada um dos comandos descritos acima.
xlsread('nome_do_arquivo.xls')
Exemplo:
xlswrite('nome_do_arquivo.xls', objeto)
3.3.3 Aplicação
Crie um programa (*.m) em Matlab que leia uma tabela de valores de tensão e corrente e
posteriormente calcule, dependendo da vontade do usuário, ou a potência ou a impedância.
Por fim, grave outro arquivo texto contendo uma tabela com os resultados desejados pelo
usuário.
4 Simulink
O aplicativo Simulink contém todos os blocos que o usuário precisa para construir um
modelo. Os blocos contidos nas bibliotecas do Simulink permitem a realização de
operações matemáticas, simulação de chaves e conectores de circuitos elétricos, simulação
de elementos de controle e etc.
Devido à vasta quantidade de bibliotecas presentes no Simulink, este curso irá abordar,
além da própria Simulink, a biblioteca SimPowerSystems.
A escolha desta biblioteca está relacionada a sua maior aplicabilidade para estudantes de
Engenharia Elétrica, os quais irão certamente utilizar as simulações para resolver problemas
de engenharia.
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:
•
•
•
1 1 1 1 1
saida = sen(2π 60) + sen(2π 180) + sen(2π 300) + sen(2π 420) + sen(2π 540) + sen(2π 660)
3 5 7 9 11
T
1 2
T ∫0
VRMS = v
Para implementar esta técnica, pode-se criar também, um bloco que calcule potência ativa,
potência reativa, potência aparente e fator de potência, como mostram as expressões
abaixo:
T
1
P = ∫ v ⋅ i ⋅ dt
T 0
v1 ⋅ i1 + v2 ⋅ i2 + ⋅⋅⋅ + vn ⋅ in
P=
n
v ⋅ i1 + v ⋅ i2 + ⋅⋅⋅ + v ⋅ in
1−90D 2 −90D n −90D
Q=
n
S = VRMS I RMS = P 2 + Q 2
P
FP =
S
Atenção: Estes dois blocos criados serão utilizados posteriormente, quando da medição das
grandezas elétricas, referentes ao circuito a ser modelado no item seguinte. Estes resultados
poderão ser comparados com os dos blocos já existentes no Simulink.
Feito isto, disponha os medidores de tensão e corrente, de forma a obter as formas de onda
destas grandezas.
Medidores:
Bloco de Display:
Compare os resultados obtidos pelos blocos implementados no item 4.1.2 com os dos
blocos fornecido pelo próprio Simulink.
Para se montar um modelo com uma maior flexibilidade, pode-se lançar mão da
manipulação de variáveis presentes no Workspace e aplicação do Bloco To workspace no
circuito modelado, para tanto:
Esta interação entre Matlab e Simulink é de extrema importância, entre outros casos, para
situações de modelagem mais complexas e simulações repetitivas.
5 Introdução ao GUIDE
Esta ferramenta do Matlab tem por finalidade auxiliar o desenvolvimento de interfaces
gráficas, de modo que a relação entre o programa desenvolvido e o respectivo usuário se
torne amigável.
A seguir, serão apresentados os procedimentos para criar uma interface, onde o usuário
entra com os valores de algumas variáveis e posteriormente pode visualizar os resultados
provenientes de uma determinada rotina de programação implementada.
- Ambiente de Desenvolvimento:
Acessórios
Identificação
da variável
O bloco de Edit Text pode servir para entrada de uma variável, 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:
Comando: “V=str2num(get(handles.variavel1,'string'))”;
Comando: set(handles.valor,'string',X)
Tag Variavel
6.1 Symbolic
Este toolbox possibilita ao usuário do Matlab realizar operações literais, ou seja, obter
resultados através de expressões simbólicas.
Ele é capaz de realizar operações de cálculo, como derivadas e integrais, operações de
álgebra linear, simplificações, soluções de equações, operações aritméticas, conversões,
transformadas, etc.
Para exemplificar a utilização deste toolbox, pode-se lançar mão de um cálculo 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)
*****************************************************************************************************************
⎡ t2 + u 3t 2 + 2u ⎤
⎢ ⎥
M = ⎢ 5t + u 3 2t ⎥
⎢ 3 ⎥
⎢⎣ 6t + u
2
u 5 ⎥⎦
• Identificação do Hardware
o ai = analoginput('winsound');
• Adição de canais
o addchannel(ai,1:2);
• Configuração dos parâmetros de aquisição
o set(ai,'SampleRate',10000)
o set(ai,'SamplesPerTrigger',1000)
• Aquisição de dados
o start(ai)
o data = getdata(ai);
o plot(data)
Este toolbox fornece ao usuário uma série de comandos que realizam vários tipos de
técnicas de tratamento de sinais. Uma das mais comuns é a utilização de filtros. A título 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 opções de utilização deste toolbox. Dentre as opções
encontradas pode-se destacar, além dos filtros, a aplicação de transformadas, regressões
lineares, modulação e demodulação, codificação e decodificação, entre outras.
Um assistente de muita utilidade que este toolbox possui, é o assistente de projeto de filtros,
que pode ser acessado através do comando fdatool.
6.4 Statistics
O Statistics Toolbox é uma ferramenta muito versátil e completa. Através dela é possível,
por exemplo:
Este toolbox permite a geração de números aleatório, por exemplo, pode-se digitar o
comando rand na área de trabalho.
Como exemplo, pode-se traçar um histograma de uma variável aleatória. A pequena rotina
abaixo, realiza este procedimento:
*****************************************************************************************************************
x1=rand(1,100000);
figure
hist(x1)
*****************************************************************************************************************
O comando rand realiza sorteios seguindo uma distribuição uniforme, ou seja, não há
nenhuma tendência quando da ocorrência do sorteio. Pode-se utilizar uma distribuição
normal ao invés da uniforme, substituindo o comando rand pelo comando randn.
Executando o programa novamente, pode-se perceber pelo histograma a formação de uma
gaussiana, ou seja, o sorteio passa a seguir uma tendência pré-definida.
Outra grande utilidade deste toolbox é a simulação Monte Carlo. Em termos simples, este
tipo de simulação consiste na realização de um número elevado de sorteios. Teoricamente,
se o número de sorteios for infinito, a probabilidade calculada será correta. Praticamente,
pode-se elevar o número de sorteios até o limite de cada máquina.
Crie uma simulação Monte Carlo que calcule a probabilidade de se obter “coroa” quando
do lançamento de uma moeda. Considere que a moeda não é viciada, ou seja, utilize a
distribuição uniforme. Aumente gradativamente o número de sorteios, até alcançar um erro
desprezível, em relação à probabilidade teórica.
Ainda, através deste toolbox, pode-se acessar alguns assistentes, por exemplo, utilizando o
comando randtool. Este assistente permite a geração de números aleatórios de variadas
formas.