apostila introducao ao matlabsimulink sctc
TRANSCRIPT
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
1/58
Instituto Federal da Bahia
Coordenao de Automao e Controle Industrial
Curso:
Introduo ao Matlab/Simulink
Profa. : Andrea Bitencourt
Prof.: Justino de Medeiros
Salvador2010
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
2/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 2
SUMRIO
1 - Apresentao .......................................................................................................................................................... 4
1 - Apresentao .......................................................................................................................................................... 42 - Ambiente Matlab ................................................................................................................................................... 52.1 Menus ......................................................... ............................................................ .......................................... 6
3 - Funes bsicas ...................................................................................................................................................... 74 Criando uma Varivel ........................................................................................................................................ 11
4.1 Variveis ........................................................................................................................................................ 114.1.1 Variveis Permanentes............................................................................................................................ 134.1.2 Variveis Simblicas ............................................................................................................................... 13
5 - Operaes com matrizes...................................................................................................................................... 156 - Nmeros complexos ............................................................................................................................................. 207 - Noes gerais de polinmios................................................................................................................................ 23
7.1 Definio .................................................... ............................................................ ........................................ 237.1.1 - Definindo-se um polinmio no Matlab .................................................................................................... 23
7.1.2 - Clculo das razes de um polinmio ........................................................................................................ 237.1.3 - Calculando os coeficientes de um polinmio partindo de suas razes ..................................................... 247.1.4- Operaes com polinmios ....................................................................................................................... 24
8 M-File (Arquivo .m) ............................................................................................................................................ 268.1 Definio .................................................... ............................................................ ........................................ 26
9- Grficos em 2D...................................................................................................................................................... 279.1 - Funes grficas elementares ......................................................................................................................... 279.2 - Plotagens combinadas: Usando a mesma linha de comando .................................. ........................................ 289.3 - Plotando funes com oMatlab ..................................................................................................................... 299.4. - Visualizando as razes de um polinmio ...................................................... .................................................. 299.5 Outras formas de grficos .............................................................................................................................. 31
9.5.1 - Grficos de barras ................................................................................................................................... 319.5.2 - A Funo compass ................................................................................................................................... 31
10- Exerccios: ........................................................................................................................................................... 3211. Simulink ............................................................................................................................................................... 3311.1. Construindo Modelos SIMULINK.................................................................................................................. 34
11.1.1. Elementos dos Modelos .......................................................................................................................... 3411.1.2. Criando um modelo ........................................................... ........................................................... ........... 34
11.2. Manuseando o Simulink................................................................................................................................. 3611.2.1. Zoom no Diagrama de Blocos ..................................................... ........................................................... . 3611.2.2. Selecionando Mais de Um Objeto ......................................................... .................................................. 3711.2.3. Duplicando Blocos em um Modelo ....................................................... .................................................. 3711.2.4. Apagando Blocos .................................................................................................................................... 3811.2.5. Mudando a Orientao de Blocos ........................................................................................................... 3811.2.6. Redimensionando os Blocos ................................................................................................................... 3811.2.7. Manipulando os Nomes dos Blocos ........................................................................................................ 39
11.3. Bibliotecas de Blocos do Simulink................................................................................................................. 3911.3.1. Biblioteca Sources ................................................... ........................................................... ..................... 4011.3.2. Biblioteca Sinks ...................................................................................................................................... 4111.3.3. Biblioteca Discrete .................................................................................................................................. 4211.3.4. Biblioteca Continuous ....................................................... ........................................................... ........... 4311.3.5. Biblioteca Math ....................................................... ........................................................... ..................... 4411.3.6. Biblioteca Functions & Tables .................................................... ........................................................... . 4611.3.7. Biblioteca Nonlinear ............................................................................................................................... 4711.3.8. Biblioteca Signals & Systems ................................................................................................................. 48
11.4. Especificando os Parmetros dos Blocos ....................................................................................................... 5011.5. Exemplos .................................................... ............................................................ ........................................ 51
11.5.1. Exemplo 1: Sistema Massa-Mola .......................................................... .................................................. 5111.5.2. Exemplo 2: Circuito RC Srie ..................................................... ........................................................... . 52
11.5.3. Exemplo: Simulao de um modelo dinmico ......................................................... ............................... 5411.5.4. Exemplo 4: Controlando o tanque de nvel ............................................................................................ . 5612. Referncias Bibliogrficas .................................................................................................................................. 58
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
3/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 3
NDICE DE FIGURAS
Figura 01 rea de trabalho do Matlab ......................................................................................... 5Figura 02 Resultado do comando ver no Command Window .................................................. 6
Figura 03 Flowchartdas variveis ............................................................................................. 12
Figura 04 Tela de acesso aoM-file............................................................................................. 26
Figura 05 Apresentao do botoRun ....................................................................................... 26
Figura 06 Descrio dos comandos para plotagens combinadas ............................................... 28
Figura 07 Resultado dos grficos com a plotagem combinada .................................................. 29
Figura 08 Grfico de visualizao das razes de um polinmio ................................................. 30
Figura 09 Grfico utilizando a funo compass......................................................................... 31Figura 10 Tela de acesso ao Simulink........................................................................................ 33
Figura 11: Apresentao do Simulink........................................................................................... 33
Figura 12 - Elementos de um Modelo SIMULINK....................................................................... 34
Figura 13 Tela de acesso a opoNew Model ........................................................................... 34
Figura 14 - Bloco Sine Wave........................................................................................................ 35
Figura 15 - Boto Start Simulation ............................................................................................... 35
Figura 16 Representao grfica da sine wave........................................................................... 36
Figura 17 Passos para a seleo de mltiplos objetos com a caixa de seleo .......................... 37
Figura 18 Mudando a orientao dos blocos .............................................................................. 38
Figura 19 Redimensionamento de um Gerador de Sinais .......................................................... 39
Figura 20 Manipulando os nomes dos blocos ............................................................................ 39
Figura 21 Representao do Sistema Massa-Mola .................................................................... 51
Figura 22 Modelo do Simulinkpara o Sistema Massa-Mola ..................................................... 51
Figura 23 Energia Cintica e Potencial versus Deslocamento ................................................... 52
Figura24 Energia Cintica e Potencial versus Velocidade ......................................................... 52
Figura 25 Velocidade versus Deslocamento .............................................................................. 52
Figura 26 Circuito eltrico RC srie com uma fonte de tenso contnua. .................................. 53Figura 27 Diagrama de blocos do Simulinkdo Circuito Eltrico ............................................... 54Figura 28 Sada grfica ttv )( para 0t ................................................................................ 54
Figura 29 Simulao de um tanque de nvel .............................................................................. 54
Figura 30 Diagrama de blocos do Simulinkdo tanque de nvel ................................................. 55
Figura 31 Resposta da simulao do tanque de nvel ................................................................. 56
Figura 32 Sistema de controle de nvel do tanque ..................................................................... 56
Figura 33 Diagramas de blocos do sistema de controle de nvel do tanque ............................... 57
Figura 34 Apresentao do bloco do ganho (gain) .................................................................... 57Figura 35 Apresentao do bloco PID ....................................................................................... 57
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
4/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 4
1 - Apresentao
Esta apostila orientada aos estudantes do minicurso de Matlab/Simulink, com objetivo de auxiliar na
aprendizagem durante a realizao do curso e servir para que cada participante se autodesenvolva e
aprofunde os conhecimentos desta ferramenta na sua rea especfica. A verso utilizada nesta apostila a
7.8.0.347 R2009a.
O MATLAB (MATRIXLABORATORY) um software criado pela Mathworks em 1984, originalmente
desenvolvido para ser um "Laboratrio para estudo de Matrizes", porm atualmente suas capacidades
ultrapassam em muitas vezes as possibilidades de sua verso original. Desta forma, o MATLAB hoje
um dos principais sistemas interativos e uma das mais importantes linguagens de programao para
computao tcnica e cientfica em geral, permitindo implementar e resolver problemas matemticos
muito mais rpidos e eficientemente que atravs de outras linguagens como C, Basic, Pascal ou Fortran.
Sua primeira verso foi escrita na Universidade do Novo Mxico e na Universidade de Stanford, no final
da dcada de 70, e destinava-se a cursos de teoria matricial, lgebra linear e anlise numrica. Hoje, o
MATLAB integra anlise numrica, clculo com matrizes, processamento de sinais, imagens, sons,
construo de grficos, anlise, modelagem e simulao de sistemas e algoritmos. Devido sua
praticidade, essa ferramenta computacional vem sendo utilizada em ambientes acadmicos e em empresas
do mundo todo.
MATLAB tambm contempla uma famlia de aplicativos especficos chamados toolboxes. Esses
aplicativos foram desenvolvidos por profissionais de expresso em cada uma das reas e foram totalmente
concebidos na forma de colees de funes MATLAB (M-files), estendendo o ambiente MATLAB na
soluo de problemas particulares. Entre outros, temos os seguintes toolboxes: Processamento de Sinais;
Projeto de Sistemas de Controle; Simulao de Sistemas Dinmicos; Identificao de Sistemas; Redes
Neurais; Otimizao; etc.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
5/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 5
2 - Ambiente Matlab
A rea de trabalho do MATLAB assemelha-se bastante ao ambiente Windows padro, com a diferena
que o programa oferece uma linha deprompt(como no antigo MS-DOS), onde o usurio pode digitar os
comandos.
Pode-se destacar as seguintes reas:
Command Window: rea na qual os dados e instrues so digitados e os resultados so
apresentados;
Workspace: rea da memria de trabalho do Matlab, na qual as variveis so criadas e
armazenadas;
Current Directory (diretrio atual): rea onde pode-se observar o contedo da pasta atual
(ou diretrio atual). sempre um bom procedimento que os arquivos que estejam sendo
vistos nesta janela, sejam os que se pretende utilizar. Caso contrrio o Matlab no
reconhecer os comandos por no estar direcionado ao diretrio atual;
Command History: rea na qual todo o histrico das instrues j executadas so
armazenadas.
A figura 01 apresenta a rea de trabalho doMatlab.
Figura 01 rea de trabalho do Matlab
Pasta Atual rea do arquivo .m(M-FILE)
rea de Trabalho
Workspace
Histrico deComandos
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
6/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 6
A rea de trabalho (prompt), serve para entrada de comandos e parmetros, a figura 02 apresenta um exemplo do
comando, descrito abaixo:
Sintaxe:
>> ver>>
Figura 02 Resultado do comando ver no Command Window
Como resultado, o usurio recebe as informaes acerca das verses doMatlab, do Simulinke de todos
os toolboxes instalados no computador. O sinal deprompt >> dessa janela indica que o sistema est
apto a receber comandos.
O funcionamento do prompt de comando semelhante ao do promtp de comando do sistema. Inclusive vrios comandos que l se utilizava permanecem no Matlab.
2.1 Menus
A primeira parte da barra de ferramentas do Matlab segue oambiente Windows: File, Edit, View, Web,
Window e Help.
(a) Menu FILE: permite que o usurio abra, feche e salve arquivos ou a rea de trabalho. Permite
ainda, que se alterem as configuraes do software, que se envie arquivos para impresso,que se abra o editor de janelas e se encerre o programa;
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
7/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 7
(b) Menu EDIT: possui as opes padro do Windows, tais como undo, copy, paste. Alm disso,
permite que se limpe a rea de trabalho;
(c) Menu WINDOW: menu que permite a alternncia entre as vrias janelas abertas durante a
execuo do programa;
(d) Menu HELP: contm os tpicos de ajuda e informaes gerais sobre o software.
As demais opes so prprias doMatlab:
(a) New M-File, Open, Cut, Copy, Paste, Undo e Redo;
(b) Simulink: abre um modelo do Simulink;
(c) Current Directory: apresenta o diretrio de trabalho corrente;
(d) Browse for folder: busca um novo diretrio de trabalho.
3 - Funes bsicas
As tabelas abaixo apresentam algumas funes bsicas doMatlab.
Tabela 01: Utilitrios para a janela de comandos
Comandos Descrio
format Altera o formato dos dados na tela
disp Mostra matriz ou texto na tela
clc Apaga janela de comandos
clear Apaga variveis
home Move o cursor para o topo da tela
echoAtiva/desativa exibies de linha individuais durante a execuo de um arquivo
.m
quit Termina o programa
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
8/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 8
Tabela 02: Utilitrios para tratamento de arquivos
Comandos Descrio
cd Muda de diretrio
delete Deleta arquivo ou objeto grfico
dir Mostra diretrio
exist Confere se uma varivel ou funo existe
load Carrega varveis gravadas em disco
save Salva variveis em disco
type Lista o contedo de um arquivo ou funo
what Mostra os nomes dos arquivos .m e .mat no diretrio corrente
who Mostra as variveis existentes na tela de comando
chdir Muda o diretrio de trabalho
Tabela 03: Caracteres especiais usados na janela de comandos
Caracteres Descrio
= Comando de atribuio
[ ] Delimitar elementos de matrizes e vetores
( ) Alternar a ordem de precedncia das expresses aritmticas
. Ponto decimal
, Separa argumento de funes e elementos de matrizes e vetores
; Finalizador de linha com supresso de impresso
% Comentrio
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
9/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 9
: Gerao de um vetor com intervalos definidos
! Execuo de um programa do sistema operacional
Tabela 04: Funes matemticas bsicas
Funo Descrio
acos Arco-coseno
asin Arco-seno
atan Arco-tangente
cos Coseno
cosh Coseno hiperblico
exp Exponencial com base e
fix Arredondamento para o inteiro mais prximo at zero
log Logaritmo natural
log10 Logaritmo decimal
rand Gera nmeros aleatrios com distribuio uniforme
randn Gera nmeros aleatrios com distribuio normal
rat Aproximao racional
round Arredonda o nmero para o inteiro mais prximo
sign Retorna 1 se for positivo e 0 se for negativo ou zero
sin Seno
sinh Seno hiperblico
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
10/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 10
sqrt Raiz quadrada
tan Tangente
tanh Tangente hiperblica
NOTA: OMatlab trabalha com ngulos em radianos.
As regras de precedncia aritmtica so vlidas tambm no Matlab, ou seja, pela ordem temos:
potenciao multiplicao e diviso adio e subtrao. Os smbolos utilizados para representao
destas operaes so:
Tabela 05: Smbolos das principais operaes matemticas
^ Exponenciao
/ Diviso direita
\ Diviso esquerda
* Multiplicao
+ Adio
- Subtrao
Transposio
Deve-se notar que existem dois smbolos para diviso: as expresses 1/4 e 4\1 possuem o mesmo valor
numrico, isto , 0,25. Parnteses so usados em sua forma padro para alterar o mesmo a precedncia
usual dos operadores aritmticos.
NOTA: OMatlab faz distino entre os caracteres maisculos e minsculos.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
11/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 11
4 Criando uma Varivel
Para criar uma varivel no Matlab simples, basta para isso atribuir um valor, um caractere ou uma
string, no h a necessidade de declararmos qualquer varivel noMatlabAo jogar dados numa varivel, o
programa aloca memria automaticamente. Um exemplo de definio de uma varivel numrica segue
abaixo:
>> x = 3.1416927
Uma varivel tambm pode guardar um string, como mostrado abaixo:
>> y = teste
Observe que a diferenciao entre um string e uma funo feita apenas pelos apstrofos.
Ao necessitarmos de ajuda sobre qualquer funo do MATLAB, basta que digitemos help nome do
comando ou funo. Este procedimento mostra na rea de trabalho uma breve explicao sobre o
comando em questo. Por exemplo, experimente digitar:
>> help help
As mensagens de erro, quando acontecem, tentam explicar os motivos pelo qual o erro ocorreu. Por
exemplo: hep
??? Undefined function or variable 'hep'.
A varivel criada fica na memria do Matlab e assim podem ser usadas em vrias partes do programa.
Portanto um cuidado necessrio para no haver confuso com elas.
4.1 Variveis
OMatlab trabalha essencialmente com um tipo de varivel: uma matriz contendo nmeros, complexos ou
no (um escalar uma matriz 1 x 1). Em alguns casos, um tratamento especial dado a uma matriz 1 x 1
(escalar) ou a matrizes 1 x n ou n x 1 (vetores). Na figura 03 apresentado um flowchartpara melhor
visualizao das variveis.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
12/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 12
Figura 03 Flowchartdas variveis
Alguns exemplos:
Seguem abaixo algumas orientaes para atribuio das variveis:
Tipo de Matriz Exemplo
escalar
>> 2
ans =
2
vetor linha (1 n )
>> [1 2 3]
ans =
1 2 3
vetor coluna ( n1)
>> [1;2;3]
ans =
1
2
3
matriz bidimensional
(mn)
>> [1 2 3;4 5 6;7 8 9]
ans =
1 2 3
4 5 6
7 8 9
Tabela 06: Exemplos de Matrizes
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
13/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 13
(a) envolva os elementos com colchetes, [ ];
(b) separe cada elemento com espaos ou vrgulas;
(c) use ponto-e-vrgula (;) para indicar fim da linha.
(d) pode conter o caractere _;
(e) pode possuir no mximo 32 caracteres;
(f) no pode ser uma palavra reservada, como for ou while.
4.1.1 Variveis Permanentes
Existem algumas variveis que so intrnsecas ao Matlab e que no podem ser apagadas. Algumas so
interessantes:
4.1.2 Variveis Simblicas
No Matlab, possvel manipularmos expresses que alm de nmeros e variveis numricas, contm
tambm variveis simblicas. Por exemplo:
>> syms x
>> simplify((sin(x))^2+(cos(x))^2)
ans =
1
Primeiro necessrio determinar que x uma varivel simblica (comando sym), depois pedimos para
simplificar a expresso que envolve x. Neste caso usamos uma funo chamada simplify. Neste caso, a
funo simplify tem como argumento de entrada uma expresso simblica e de sada tambm.
OBS: Para que o computador realize a operao e no mostre a sada, basta terminar a expresso com
ponto-e-vrgula (;). Isto muito til para evitar que o computador fique mostrando nmeros de
clculos intermedirios e para acelerar as operaes.
Tabela 07: Variveis Permanentes
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
14/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 14
Uma vez definido que a varivel x uma varivel simblica, podemos definir expresses que envolvem
esta varivel. Por exemplo, dadas duas funes f(x) = 2x2+3x-5 e g(x) = x2-x+7, podemos fazer uma srie
de operaes algbricas envolvendo estas funes. Por exemplo:
>> f=2*x^2+3*x-5; g=x^2-x+7;
>> f+g
ans =
3*x^2+2*x+2
>> f-g
ans =
x^2+4*x-12
>> f*g
ans =
(2*x^2+3*x-5)*(x^2-x+7)
>> expand(ans)
ans =
2*x^4+x^3+6*x^2+26*x-35
>> f/g
ans =
(2*x^2+3*x-5)/(x^2-x+7)
>> expand(ans)
ans =
2/(x^2-x+7)*x^2+3/(x^2-x+7)*x-5/(x^2-x+7)
O Matlab pode realizar operaes mais avanadas sobre expresses simblicas. A funo compose
calcula a composio das funes f(x) e g(x) em f(g(x)), a funofinverse encontra a inversa funcional de
uma expresso e a funo subs substitui uma varivel por um nmero (ou por outra varivel) em uma
expresso. Por exemplo:
>> f=1/(1-x^2); g=sin(x);
>> compose(f,g)ans = 1/(1-sin(x)^2)
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
15/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 15
>> compose(g,f)
ans = sin(1/(1-x^2))
>> finverse(g)
ans = asin(x)
>> subs(f,x,2)
ans = -1/3
Abaixo segue um resumo das funes para manipulao de expresses algbricas:
Existem vrias outras funes para manipulao de expresses algbricas. Pode-se obter informaes
sobre elas digitando help symbolic. Uma funo interessante que mostra as capacidades do Matlab emtratar com funes matemticas funtool que uma calculadora para funes.
5 - Operaes com matrizes
Uma matriz um arranjo de elementos na forma de uma tabela retangular, sendo que a forma
geral um arranjo de m linhas e n colunas. No MATLAB, uma matriz pode ser definida de maneira
semelhante aos vetores, diferenciando-se apenas no fato da necessidade da digitao de um enter ou um; para a separao das diferentes colunas. Vejamos alguns exemplos:
FUNES DESCRIO
compose(f,g) Determina a composta f(g(x)).
expand(expr) Expande uma expresso expr
finverse(expr) Determina a inversa funcional da expresso expr
pretty(expr) Exibe a expresso expr numa forma mais bonita
simple(expr) Procura encontrar uma forma mais simples de escrever uma expresso expr
simplify(expr) Simplifica a expresso exprsolve(expr) Acha a(s) soluo(es) da equao expr = 0
subs(expr,x,a) Substitui na expresso expr a varivel x por a
syms x y z a b Define as variveis simblicas x, y, z, a e b
diff(f) calcula a derivada de f.
Tabela 08: Principais funes para expresses algbricas
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
16/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 16
>> a = [1 2 3; 4 5 6; 7 8 9]
a =
1 2 3
4 5 6
7 8 9
Ou:
>> b = [9 8 7
6 5 4
3 2 1]
b =
9 8 7
6 5 4
3 2 1
Da mesma forma que fizemos com vetores, as matrizes tambm podem ter seus elementos escritos como
expresses. Alm disso, as matrizes podem ter seus elementos identificados (e operados) individualmente. Por
exemplo:
>>b (2,1)
ans =6
Este comando devolveu em ans o valor do elemento da segunda linha e primeira coluna da matriz b.
O tamanho de uma matriz qualquer pode ser obtido atravs da funo size.
>> size (a)
ans =
3 3
A matriz a possui 3 linhas e 3 colunas. A concatenao de matrizes bastante semelhante concatenao dos vetores. Vejamos dois exemplos:
>> c = [a b]
c =
1 2 3 9 8 7
4 5 6 6 5 4
7 8 9 3 2 1
>> d = [a; b]
d =
1 2 3
4 5 6
7 8 9
9 8 7
6 5 4
3 2 1
Para extrairmos uma submatriz de uma matriz qualquer procedemos da seguinte forma:
>> e = d(1:2, 1:2)
e =
1 2
4 5
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
17/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 17
Este comando retirou a primeira e segunda linha e a primeira e segunda coluna da matriz d e armazenou
na matriz e. Se quisermos que todas as linhas da matriz antiga compusessem a nova matriz bastaria colocarmos
: no primeiro parmetro da matriz d. Suponhamos agora que precisemos inserir uma linha na matriz e. O
comando o seguinte:
>> e = [e; 1 0]
e =
1 2
4 5
1 0
Nas operaes de adio e subtrao de matrizes, os elementos de uma matriz so somados ou
subtrados com o seu correspondente na outra matriz. Esta a razo pela qual as duas matrizes envolvidas
devem ter o mesmo nmero de linhas e colunas.
>> soma = a + b
soma =
10 10 10
10 10 10
10 10 10
>> sub = a - b
sub =
-8 -6 -4
-2 0 2
4 6 8
A multiplicao e diviso de uma matriz por escalares efetuada elemento a elemento. Por exemplo:
>> mult = 3 * a
mult =
3 6 9
12 15 18
21 24 27
>> div = a / 3
div =
0.3333 0.6667 1.0000
1.3333 1.6667 2.0000
2.3333 2.6667 3.0000
A exponenciao individual dos elementos de uma matriz podem ser feitos pelo comando .^ .
>> a .^2
ans =
1 4 9
16 25 36
49 64 81
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
18/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 18
A multiplicao de matrizes uma ferramenta bastante til no Matlab. Vale a pena ressaltar que na
multiplicao de uma matriz a qualquer por uma matriz b qualquer, s pode acontecer se o nmero de colunas
da matriz a for igual ao nmero de linhas da matriz b ou vice-versa. Vejamos um exemplo: Queremos
multiplicar a matriz c pela matriz d. Primeiramente vamos verificar se o nmero de linhas de uma igual ao
nmero de colunas da outra.>> size (c)
ans =
3 6
>> size (d)
ans =
6 3
Percebe-se que a multiplicao destas duas matrizes possvel. Ento:
>> c * d
ans =
180 162 144
162 162 162
144 162 180
Perceba que o resultado teria sido diferente se tivssemos feito d vezes c:
>> d * c
ans =
30 36 42 30 24 18
66 81 96 84 69 54
102 126 150 138 114 90
90 114 138 150 126 102
54 69 84 96 81 66
18 24 30 42 36 30
Este tipo de preocupao no necessria quando estamos trabalhando com matrizes quadradas de
mesmo tamanho.
A fim de mostrar a diviso de duas matrizes, vamos definir duas novas matrizes:
>> x = [15 10 8; 7 1 0; 2 5 1]
x =
15 10 8
7 1 0
2 5 1
>> y = [3 -1 2; -5 1 1; 0 3 4]
y =
3 -1 2
-5 1 1
0 3 4
Agora, vamos dividir a matriz x pela matriz y:
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
19/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 19
>> x/y
ans =
-2.0213 -4.2128 4.0638
-0.5745 -1.7447 0.7234
-1.8511 -1.5106 1.5532
Note que a diviso de y por x poderia ser efetuada utilizando-se a diviso direita, como segue:
>> x\y
ans =
-0.7033 0.0239 0
-0.0766 0.8325 1.0000
1.7895 -1.2105 -1.0000
Houve um motivo simples para termos definido novas matrizes a fim de demonstrarmos a diviso. As
matrizes a e b eram singulares, ou seja, possuam determinante nulo. Ao dividirmos duas matrizes singulares, o
resultado uma matriz com componentes infinitos, conforme nos mostra oMatlab:
>> a/b
Warning: Matrix is singular to working precision.
ans =
Inf Inf Inf
Inf Inf Inf
Inf Inf Inf
A potenciao de matrizes equivale a sucessivas multiplicaes dela por ela mesma. Por exemplo,
faamos a ao cubo:
>> a ^ 3
ans =
468 576 684
1062 1305 1548
1656 2034 2412
A transposta de uma matriz (troca das colunas pelas linhas) obtida da mesma maneira que a transposta
de um vetor. O operador o apstrofo :
>> a'
ans =
1 4 7
2 5 8
3 6 9
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
20/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 20
Na prxima tabela so mostrados as mais importantes funes para tratar matrizes no MATLAB:
FUNES DESCRIO
det Determinante de uma matriz
eye Gera uma matriz identidade
inv Calcula a inversa da matriz
ones Gera uma matriz unitria
rand Gera uma matriz randmica
tril Transforma/gera uma matriz triangular inferior
triu Transforma/gera uma matriz triangular superior
zeros Gera uma matriz de zeros (nula)
6 - Nmeros complexos
Segue abaixo um breve resumo dos nmeros complexos:
Def.: todo nmero que pode ser escrito na forma:
z = a + b i, onde a = Re(z) e b = Im(z)
Mdulo de um nmero complexo: | z | = (a2+b2)1/2
Forma polar dos nmeros complexos: z = a+bi = r cos() + r i sen() = r (cos + i sen ), onde
=arctg(b/a) => argumento(fase)
A seguir sero apresentadas orientaes como trabalhar com nmeros complexos noMatlab. A parte imaginria
simbolizada pelas letras i ouj indistintamente:
>> i^2
ans =
-1.0000 + 0.0000i
>> j^2
ans =
-1.0000 + 0.0000i
Tabela 09: Principais funes para matrizes
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
21/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 21
Note que mesmo que utilizemos a letraj, na resposta oferecida peloMatlab sempre aparece a letra i.
Utilizando o sistema de coordenadas cartesianas, um nmero complexo pode ser definido noMatlab da
seguinte maneira:>> z1 = 3 + 4i
z1 =
3.0000 + 4.0000i
Ao trabalharmos com nmeros complexos um ponto deve ser levado em considerao: no devemos
utilizar as letras i ej para definir variveis ou constantes, pois isto feito, elas no mais podero ser usadas para
definir complexos.
O conjugado de um nmero complexo (o prprio nmero com o sinal da parte imaginria trocado) pode
ser obtido utilizando-se a funo conj:
>> conj(z1)
ans =
3.0000 - 4.0000i
As operaes com nmeros complexos utilizam os operadores usuais, como podemos ver nos exemplos
a seguir:
>> z2 = 4 + 3i
z2 =
4.0000 + 3.0000i
>> z1 + z2
ans =
7.0000 + 7.0000i
>> z1 - z2
ans =
-1.0000 + 1.0000i
>> z1 * z2
ans =
0 +25.0000i
>> z1 / z2
ans =0.9600 + 0.2800i
A potenciao, como visto com as matrizes, corresponde multiplicao sucessiva do nmero por ele mesmo.
Vejamos um exemplo:
>> z1 * z1
ans =
-7.0000 +24.0000i
>> z1 ^ 2
ans =
-7.0000 +24.0000i
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
22/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 22
Vejamos agora algumas funes teis quando trabalhamos com nmeros complexos:
FUNO DESCRIO
real Retorna a parte real do nmero complexo
imag Retorna a parte imaginria do nmero complexo
abs Retorna o mdulo do vetor complexo (representao
trigonomtrica)
angle Retorna o ngulo do vetor complexo (representao trigonomtrica)
Os nmeros complexos tambm podem formar vetores ou matrizes, como os nmeros reais. Vejamos
dois exemplos simples:
>> vetor = [z1 z2]
vetor =
3.0000 + 4.0000i 4.0000 + 3.0000i
>> matriz = [z1 z2; z2 z1]
matriz =
3.0000 + 4.0000i 4.0000 + 3.0000i
4.0000 + 3.0000i 3.0000 + 4.0000i
Para o clculo da transposta existem dois operadores ( ) e ( . ). O primeiro deles calcula a transposta
do conjugado e o outro a transposta normal. Vejamos estes exemplos com a matriz definida anteriormente:
>> matriz'
ans =
3.0000 - 4.0000i 4.0000 - 3.0000i
4.0000 - 3.0000i 3.0000 - 4.0000i
>> matriz.'
ans =
3.0000 + 4.0000i 4.0000 + 3.0000i
4.0000 + 3.0000i 3.0000 + 4.0000i
Tabela 10: Principais funes para nmeros complexos
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
23/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 23
7 - Noes gerais de polinmios
7.1 Definio
Polinmios so funes do tipo P(x)=anxn+an-1x
n-1+...+a1x1+a0x
0 onde n e a so reais, x pode ser real ou
complexo e n o grau do polinmio.
7.1.1 - Definindo-se um polinmio no Matlab
Define-se um polinmio noMatlab colocando-se os seus coeficientes de forma ordenada em um vetor
linha.
Seja o seguinte polinmio:
x
3
-3x
2
+4x-4
NoMatlab ele ser definido da seguinte forma:
poli = [1 -3 4 -4];
Note que o coeficiente 4, apesar de aparentemente no estar acompanhado da varivel x, aparece entre
os coeficientes. Isso ocorre porque na verdade ele est sim acompanhado de x, porm como temos x0 que igual
a 1, torna-se por norma no represent-lo.
7.1.2 - Clculo das razes de um polinmio
As razes de um polinmio P(x) so os valores das variveis para os quais as igualdade P(x)=0 satisfeita.
Vamos definir um outro polinmio noMatlab;
>> coef = [1 2 1];
O polinmio assim definido noMatlab corresponde a: x2+2x+1.
A fim de calcularmos as razes deste polinmio, o igualaramos a zero e teramos:
x2+2x+1=0
No Matlab, para calcular as razes deste polinmio, devemos encontrar o valor de x para que a
igualdade seja satisfeita. Para tanto, usamos o comando roots da seguinte forma:
>> r = roots (coef)
r =
-1
-1
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
24/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 24
O polinmio em questo possui duas razes iguais. Note que 1 o valor que atribudo a x torna
verdadeira a igualdade.
Suponha agora que voc tenha que encontrar as razes da equao:
x3-15x=4
O procedimento o seguinte:
Escrever a equao com todos os termos no primeiro membro e igualando-se a zero.
x3+15x-4=0
Colocar zero no coeficiente quando no possui o termo, o exemplo acima no possui o termo x2.
>> coef = [ 1 0 -15 -4];>> r = roots(coef)
r =
4.0000
-3.7321
-0.2679
7.1.3 - Calculando os coeficientes de um polinmio partindo de suas razes
Podemos, com as razes do polinmio coefutilizado anteriormente, obter os coeficientes deste mesmo
polinmio utilizando a funo poly:
>> = poly(r)
p =
1.0000 0.0000 -15.0000 -4.0000
7.1.4- Operaes com polinmios
Com a mesma facilidade que operamos com nmeros reais, vetores, matrizes e nmeros complexos,podemos tambm operar com polinmios. Vejamos algumas operaes possveis:
a. Multiplicao e diviso de polinmios:Deixaremos por conta do leitor a reviso da teoria de diviso de polinmios, caso queira acompanhar os
resultados obtidos noMatlab. Ex.: Sejam dois polinmios:
p1= 2s2+3s+1
p2= 5s-2
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
25/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 25
Queremos p1*p2. Sabemos que o resultado esperado :
p1*p2=10s3+11s2-s-2
Teremos:
>> p1=[2 3 1];
>> p2=[5 -2];
A funo conv utilizada para a multiplicao entre dois polinmios:
>>p3=conv(p1,p2)
p3 =
10 11 -1 -2
Enquanto a funo conv utilizada para realizar multiplicaes, o contrrio, ou seja a diviso,
efetuada com a funodeconv.
Observe como feito:
>> [Q R]=deconv(p3,p1)
Q =
5 -2
R =
0 0 0 0
O vetor Q contm os coeficientes do quociente polinomial, que no nosso caso, so os coeficientes do
prprio polinmio p2. O vetor R contm os coeficientes do polinmio que corresponde ao resto da diviso
polinomial. Como a diviso de p3 por p1 exata, o resto zero.
Vamos agora , substituir o polinmio p3 pelo polinmio p4 assim definido:
p4=10s3+11s2+2s
>> p4=[10 11 2 0];
Realizando a diviso:
>> [Q R]=deconv(p4,p1)
Q =
5 -2
R =
0 0 3 2
Agora j temos um resto na diviso, ou seja, o polinmio 3s+2
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
26/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 26
8 M-File (Arquivo .m)
8.1 Definio
O M-File uma ferramenta doMatlab que auxilia a funes e scripts. Para criar escolher a opo New
M-File, como mostra a figura 04.
Figura 04 Tela de acesso aoM-file
Ser aberto um editor de textos. Este mais um ambiente de programao do Matlab. Os comandos
usados nesse editor so os mesmos do Command Window. Uma grande utilidade doM-File facilitar a vida do
usurio, atravs da execuo de scripts, que so arquivos que possuem uma lista de comandos que devem ser
executados sequencialmente (tambm chamados de procedimentos). Assim, quando se quiser executar mais de
uma vez um conjunto de comandos seqenciais relativamente grandes e trabalhosos para serem digitados, no
ser necessrio digit-los um a um na Command Window, basta digitar os comandos noM-File, salvar o arquivo
e execut-lo.
Segue um exemplo de scriptpara calcular a distncia entre dois pontos:
O primeiro passo para executar um script salv-lo. OM-File salva os arquivos no seu diretrio padro,
com a extenso.m. Para salvar, deve-se entrar no menu File e escolher a opo Save. Existem duas opes para
se executar o script, a primeira clicar no boto Run, que est localizado no centro da barra de ferramentas do
M-File, em verde, apresentado na figura 05:
Figura 05 Apresentao do botoRun
p=[1 2];q=[4 5];temp=((p(1)-q(1))^2+(p(2)distancia=sqrt(temp);
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
27/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 27
A outra opo usar o atalho F5. As consequncias da execuo so as mesmas que seriam observadas
se os comandos tivessem sido executados na Command Window: as variveis declaradas estaro todas
disponveis no Workspace e os resultados de cada operao estaro presentes na tela.
OM-File um ambiente de programao, portanto existem algumas funes, bem parecidas com as dalinguagem C, por exemplo, que podem ser utilizadas.
9- Grficos em 2D
9.1 - Funes grficas elementares
A seo grfica doMatlab possui variadas e sofisticadas tcnicas para representar e visualizar dados. Um ponto
negativo deve-se a forma com que as ferramentas so aplicadas a uma entidade grfica, atravs de comandos,
diferenciando-se da maioria dos softwares com aplicaes dessa ordem, onde as alteraes so efetuadas de
forma mais amigvel, com uso do mouse e atalhos que facilitam as aes.
Os principais comandos utilizados na edio e criao de grficos so listados abaixo:
Funo Descrio
plot plota um vetor ou uma funo
title adiciona ttulo ao grfico
xlabel adiciona um rtulo ao eixo x;
ylabel adiciona um rtulo ao eixo y
text insere um texto numa determinada posio da janela grfica
grid traa linhas de grade
gtext insere um texto no grfico usando o mouse como posicionador
A formatao de cor e estilo da linha pode ser facilmente ajustada atravs da edio dos argumentos do
comando plot.
A tabela a seguir mostra as opes.
Tabela 11: Principais funes para construo de grficos
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
28/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 28
Cor da Linha Estilo da Linha
Caractere Cor Caractere Estilo
y amarela . Ponto
m magenta o Crculo
c cyan x marca "x"
r vermelha + Mais
g verde * Asterisco
b azul - Slido
w branca : Pontilhado
k preta -- Tracejado
Observe o formato da linha de comando:
>> plot (x,y,'ro')
Note que o argumento de cor ou formato de linha deve ser escrito entre aspas simples. Podem ser usados
um argumento para cor e um para estilo de linha, ou apenas uma das opes.
9.2 - Plotagens combinadas: Usando a mesma linha de comando
Podemos efetuar vrias plotagens na mesma tela com apenas um comando plot. Veja na figura 06 os
comandos e na figura 07 exemplos de grficos.
Figura 06 Descrio dos comandos para plotagens combinadas
Tabela 12: Dados para formatao de tabelas
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
29/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 29
Figura 07 Resultado dos grficos com a plotagem combinada
9.3 - Plotando funes com oMatlab
Para plotar a funo exp(x) no intervalo [0 10], poderamos criar um vetor x e um vetor y em seguida
plotar um em funo do outro. Porm para funes matemticas j definidas no programa, ou novas funes
definidas pelo usurio temos o comandofplot.
>> fplot('exp', [0 10])
>> grid
Note, entre apstrofos ' ', temos a funo. Entre colchetes [ ], o intervalo de anlise.
9.4. - Visualizando as razes de um polinmio
Seja a equao: y=x3-3x2-6x+8
Para visualizar as razes graficamente, inicialmente calcula-se as razes do polinmio:
>> coef = [ 1 -3 -6 8];
>> roots(coef)
ans =
4.0000
-2.0000
1.0000
Uma vez definida as razes, temos que definir o domnio de x que contm estas razes:
>> x= -3: .1 :5;
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
30/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 30
Observe que x um vetor contendo vrios nmeros; dentre eles as razes do polinmio.
Agora vamos utilizar uma nova funo que vai calcular para cada valor de x um valor correspondente
para y. Essa a funo polyval. Ela utilizada com dois argumentos, sendo primeiro o vetor de coeficientes e o
outro o vetor que contm as razes que queremosplotar:
>> y = polyval(coef,x);
Agora s nos resta fazer aplotagem na janela grfica.
>> plot(x,y)
>> grid
>> title('Grfico de y=x^3 -3x^2-6x+8')
>>xlabel('eixo x')
>> ylabel('eixo y')
>> zoom
O resultado apresentado na figura 08.
Figura 08 Grfico de visualizao das razes de um polinmio
Voc pode observar no grfico que, como era de se esperar, onde temos x=4, -2 e 1 temos y=0. O ltimo
comando realizado, zoom, permite efetuarmos um zoom em grficos 2D. Utilize este recurso e realize uma
aproximao na rea onde a curva corta o eixo x e verifique as razes do polinmio.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
31/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 31
9.5 Outras formas de grficos
9.5.1 - Grficos de barras
Para visualizar dados em forma de barras, para aplicaes onde tal caracterstica seja til, utilizamos o
comando bar.
Sua aplicao fcil:
>> b=[1 2 3 4 5 4 3 2 1];
>> bar(b)
Importante: as configuraes para cor e estilo de linha vistas para o comandoplotso vlidas aqui tambm.
9.5.2 - A Funo compass
Para representar nmeros complexos com amplitude e ngulo.
a=3+j*4
compass(a)
Note que a janela apresenta o mdulo e a fase do nmero "c".
Figura 09 Grfico utilizando a funo compass
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
32/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 32
10- Exerccios:
1. Armazene no workspace os seguintes valores:
a = 3.132;
b = -23.004;c = 5*pi;
d = (3 5.4 7.43)
e = (-2.234 0 pi/2)
2. Verifique o resultado das seguintes das seguintes operaes:
a) a + b +eps e) g c * f e) g c * f
b) c b * (a / b) f) A * B f) A * B
c) d e g) a * A B / c g) a * A B / cd) e + 2 * f h) f * B h) f * B
3. Sejam os polinmiosp = x4 3x2 +5x 30 e q = 2x4 7x3 +2x 15. Calcule:
a) p x q d) p /q
b) p(2) e) razes q
c) Represente as razes graficamente
4. Atribua as seguintes expresses s variveis:
a) 3.34 * a pi/c para x
b) log(d + 34.0054) para y
c) log(A) para Z
d) ft * B para t
5. Salve as variveis x, Z, B em um arquivo chamado exerc1.mat.
6. Saia do MATLAB, entre novamente e carregue as variveis salvas anteriormente.
7. Plote as seguintes funes no intervalo especificado:
a) f(x,y) = x2 + y2, x, y [-5;5] e) f(x,y) = (x + y)/(x y), x, y [-10;10]
b) f(x,y) = (1 - x2 - y2) , x, y [-0.5;0.5] f) f(x,y) = x y /(x2 + y2), x, y [-10;10]
c) f(x,y) = x y , x, y [0;1] g) f(x,y) = sen(x/2) cos(y/3), x, y [-p;p]
d) f(x,y) = arctg(x2 + y2) , x, y [-8;8]
8. Plote os seis primeiros grficos do item anterior na mesma figura.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
33/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 33
11. Simulink
Para iniciar o Simulink existem duas opes, a primeira clicar no boto simulink no centro da barra de
ferramenta do ambiente Matlab, como mostra a figura 10.
Figura 10 Tela de acesso ao Simulink
A outra opo digitar o seguinte comando na rea de trabalho:
>> Simulink
A figura 11 apresenta a tela que abrir em resposta ao comando simulink.
Figura 11: Apresentao do Simulink
A janela subdividida em trs partes principais. No lado esquerdo esto presentes todas as bibliotecas
disponveis. Esto presentes bibliotecas de Sistema Aeroespaciais, Sistemas de Controle Dinmicos, Lgica
Fuzzy, etc. No lado direito da tela esto disponveis todos os blocos pertencentes biblioteca selecionada. Na
parte inferior da tela est presente a descrio de cada bloco selecionado.
Bibliotecasdisponveis
Blocospertencentes
bibliotecaselecionada
Descrio decada blocoselecionado
Simulink
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
34/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 34
11.1. Construindo Modelos SIMULINK
11.1.1. Elementos dos Modelos
Um modelo SIMULINKconsiste de 3 tipos de componentes, como mostra a figura 12: Fontes, o sistema
e dispositivo de sada.
Figura 12 - Elementos de um Modelo SIMULINK
O elemento central, o sistema, a representao de um diagrama em blocos de um sistema dinmico a ser
modelado no SIMULINK. As fontes so as entradas aplicadas ao sistema dinmico. Podem incluir constantes,geradores de funes como senides ou degrau, ou ainda sinais personalizados pelo usurio criados no
MATLAB. So encontrados na biblioteca de fontes (sources).
A sada do sistema entregue aos dispositivos de sada. Alguns exemplos so: grficos e arquivos de
sada. Tais blocos so encontrados na biblioteca de Dispositivos de Sada (sinks).
Freqentemente, em modelos SIMULINKum ou mais desses 3 elementos pode faltar. Por exemplo, pode-
se desejar modelar o comportamento na ausncia de foras de um sistema inicialmente fora de sua condio de
equilbrio. Tal modelo no deve ter entradas mas deve conter blocos de sistema, tais como ganho, integradores
etc, e provavelmente dispositivos de sada. Tambm possvel construir modelos que possuem fontes e
dispositivos de sada, mas nenhum blocos de sistema. suponha por exemplo que se necessita de um sinal que
seja composto da soma de vrios outros sinais. Tais sinais podem facilmente gerados usando as fontes do
SIMULINKe enviados ao MATLAB ou a um arquivo no disco rgido.
11.1.2. Criando um modelo
Para a criao de um modelo necessrio abrir uma nova janela. Para isso basta abrir o menu File e escolher aopo New Model, como mostra a figura 13.
Figura 13 Tela de acesso a opoNew Model
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
35/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 35
Uma janela de modelos do Simulinkser ento aberta, onde toda a montagem, modificao e testes dos sistemas
so realizados.
OMatlab salva esse arquivo de simulao com a extenso .mdl e, assim como no M-File, para que o sistema
seja executado necessrio que ele esteja salvo. Como um primeiro exemplo, pode-se mostrar na tela uma onda
senoidal. Para montar esse sistema so necessrios dois dispositivos: um dispositivo que seja capaz de mostrar o
grfico da onda e um bloco que simula a prpria onda. Seguem abaixo os passos que devem ser realizados pelo
usurio.
Para adicionar uma onda senoidal seleciona-se a biblioteca Sourcena janela de bibliotecas do
Simulink. Quando selecionamos essa biblioteca, aparece no lado direito um conjunto de sinais
que podem ser usa entrada do sistema, tais como sinal de Rampa, sinal de Degrau, onda
senoidal, etc. O Bloco, apresentado na figura 14, referente onda senoidal se chama Sine Wave.
Para adicionar o bloco janela basta clicar com o boto direito do mouse e escolher a opo
Add to nome_da_janela.
Figura 14 - Bloco Sine Wave
O bloco ser adicionado na janela de modelos aberta.
Tendo a forma de onda de entrada, basta ter o dispositivo capaz de mostrar a onda na tela. Esse
dispositivo est presente na biblioteca Sink, o nome do bloco Scope. Para adicionar esse bloco o
procedimento o mesmo.
Depois dos blocos serem adicionados necessrio interlig-los. Para isso basta clicar na seta
presente na lateral de um dos blocos, manter o boto pressionado e levar a linha tracejada at a
seta presente no outro bloco. Se a cor da linha que liga os dois blocos ficar preta e o tracejado se
manter contnuo, a operao foi realizada corretamente.
O sistema est pronto, para execut-lo basta clicar no boto Start Simulation, na barra superior,
indicado na figura 15.
Figura 15 - Boto Start Simulation
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
36/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 36
O sistema foi simulado. Para visualizar a onda, d-se um duplo clique no Scope. Surgir na tela a forma de onda
de Sine Wave. O resultado final pode ser visto na figura 16.
Figura 16 Representao grfica da sine wave
Apesar de o sistema criado ser simples, alguns detalhes ainda podem ser explorados. Ao se dar duplo
caractersticas da forma de onda gerada. Aparecer na tela uma janela onde podem ser modificados alguns
parmetros do sinal, tais como amplitude, frequncia, deslocamento vertical, ngulo de fase e domnio.
So operaes como essa de clique-e-arraste, de execuo e de adio e interligao de blocos que governam o
Simulink. No necessrio um extenso programa com diversas diretivas e j est embutido nos blocos do
Simulink.
11.2. Manuseando o Simulink
11.2.1. Zoom no Diagrama de Blocos
O Simulinkpermite o aumento ou diminuio da viso do diagrama de blocos. Seguem abaixo algumas orienta-
es para regular o zoom:
Selecione Zoom In do menu View (ou digite r) para aumentar.
Selecione Zoom Out do menu View (ou digite v) para diminuir.
Selecione Fit System to View do menu View (ou aperte a barra de espao) para ajustar o zoom de
acordo com o diagrama.
Selecione Normal do menu View para ajustar ao zoom 100%.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
37/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 37
11.2.2. Selecionando Mais de Um Objeto
Pode-se selecionar mais de um objeto selecionando-os um de cada vez, selecionando os objetos com o mouse ou
com a caixa de seleo, ou selecionar o modelo inteiro.
(a) Selecionando Mltiplos Objetos Um de Cada VezPara selecionar mais de um objeto selecionando cada objeto individualmente, segure a tecla Shift e clique nos
objetos. Para desmarcar, clique nos objetos de novo mantendo ainda o Shift pressionado.
(b) Selecionando Mltiplos Objetos com a Caixa de Seleo
Uma maneira fcil de selecionar mais de um objeto numa mesma rea desenhando a caixa de seleo ao redordos objetos. A figura 17 ilustra os passos a seguir.
1. Defina o canto para comear uma caixa de seleo posicionando o ponteiro do mouse, ento quando apertar
o desenho do ponteiro mudar.
2. Arraste o ponteiro ao canto oposto da caixa. Um retngulo pontilhado inclui os blocos e as linhas
selecionadas.
3. Solte o boto do mouse. Todos os blocos e linhas que estiverem pelo menos parcialmente includos dentrocaixa de seleo sero selecionados.
Figura 17 Passos para a seleo de mltiplos objetos com a caixa de seleo
11.2.3. Duplicando Blocos em um Modelo
Pode-se duplicar os blocos em um modelo apertando a tecla Ctrl e selecionando o bloco com o boto esquerdo
do mouse, ento arraste a um local novo. Tambm pode fazer isto arrastando o bloco com o boto direito do
mouse. Os blocos duplicados tm o mesmo parmetro dos blocos originais. So acrescentados nmeros de
sucesso aos nomes dos novos blocos.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
38/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 38
11.2.4. Apagando Blocos
Para apagar um ou mais blocos, selecione os blocos a serem apagados e aperte a tecla Delete ou Backspace.
Tambm pode escolher Clear ou Cut do menu Edit. O comando Cut recorta os blocos para o clipboard.
Usando o Delete, o Backspace ou o comando Clear no sera possvel colar o bloco depois. Pode-se usar o
comando Undo do menu Edit para restituir um bloco apagado.
11.2.5. Mudando a Orientao de Blocos
Normalmente os sinais fluem da esquerda para a direita. As portas de entrada esto na esquerda, e as portas de
sada esto direita. Voc pode mudar a orientao dos blocos escolhendo um destes comandos do menu
Format:
O comando Flip Block rotaciona o bloco de 180.
O comando Rotate Block rotaciona o bloco de 90 no sentido horrio.
A figura 18 mostra como o Simulinkorganiza as portas depois de mudar a orientao de um bloco usando os
comandos Rotate Block e Flip Block. O texto nos blocos mostram a sua orientao.
Figura 18 Mudando a orientao dos blocos
11.2.6. Redimensionando os Blocos
Para mudar o tamanho de um bloco, selecione e arraste quaisquer de suas marcas de seleo. Enquanto est
seguro o boto do mouse, um retngulo pontilhado mostra novo tamanho para o bloco. Quando solto o boto
do mouse, o bloco redimensionado.
Por exemplo, a figura 19 mostra um bloco de Gerador de Sinais sendo redimensionada. A marca do lado inferior
direito foi selecionada e arrastada posio do cursor. Quando o boto do mouse solto, o bloco assume o seu
novo tamanho.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
39/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 39
Figura 19 Redimensionamento de um Gerador de Sinais
11.2.7. Manipulando os Nomes dos Blocos
Todo o nome de bloco em um modelo deve ser nico e tem que conter pelo menos um caractere. Geralmente, os
nomes aparecem debaixo dos blocos quando as portas esto na horizontal e esquerda dos blocos quando as
portas esto na vertical, como mostra esta figura 20.
Figura 20 Manipulando os nomes dos blocos
11.3. Bibliotecas de Blocos do Simulink
Simulink organiza seus blocos em bibliotecas de blocos de acordo com a aplicao. A janela do Simulink
exibe os cones e os nomes da biblioteca:
A biblioteca Sources contm blocos que geram sinais.
A biblioteca Sinkscontm blocos que exibem ou escrevem os sinais.
A bibliotecaDiscrete contm blocos que descrevem componentes discretos no tempo.
A biblioteca Continuous contm blocos que descrevem funes lineares.
A biblioteca deNonlinearcontm blocos que descrevem funes no-lineares.
A biblioteca deMath contm blocos que descrevem funes matemticas.
A biblioteca Functions & Tables contm blocos que descrevem funes gerais e operaes de tabelas.
A biblioteca Signal & Systems contm blocos que permitem multiplexar e demultiplexar, entrada/sada
de sinais externos, passar dados a outras partes do modelo, criar subsistemas e executar outras funes.
As bibliotecasBlocksets and Toolboxes contm as bibliotecas de Blocos Suplementares Especializados.
A bibliotecaDemos do MATLAB contm teis demonstraes de Simulink.
A seguir sero feitos breves comentrios a respeito de cada bloco.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
40/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 40
11.3.1. Biblioteca Sources
Nome do Bloco Aplicao
Introduz rudo em um sistema contnuo.
Gera uma onda senoidal com freqncia crescente.
Prov o tempo de simulao.
Gera um valor constante.
Gera tempo de simulao ao especificar intervalo.
Gera pulsos a intervalos regulares.
Dados provenientes de um arquivo.
Dados provenientes de uma matriz definida no workspace.
Gera pulsos em intervalos regulares.
Gera um sinal constantemente crescente ou decrescente.
Tabela 13: Biblioteca Sources
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
41/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 41
Gera nmeros randmicos normalmente distribudos.
Gera um sinal repetitivo arbitrrio.
Gera vrias formas de onda.
Gera uma onda senoidal.
Gera uma funo degrau.
Gera nmeros randmicos uniformemente distribudos.
11.3.2. Biblioteca Sinks
Nome do Bloco Aplicao
Mostra o valor do sinal.
Exibio de sinais gerados durante uma simulao.
Para a simulao quando o sinal for diferente de zero.
Tabela 14: Biblioteca Sinks
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
42/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 42
Escreve os dados em um arquivo.
Escreve os dados em uma matriz no workspace.
Exibe um grfico de X-Y, que usa uma janela de figura do MATLAB.
11.3.3. Biblioteca Discrete
Nome do Bloco Aplicao
Implementa funes de transferncia discretas e filtros.
Implementa um sistema estado-espao discreto.
Executa integrao discreta no tempo de um sinal.
Implementa uma funo de transferncia discreta.
Implementa uma funo de transferncia discreta especificada em
termos de plos e zeros.
Tabela 15: Biblioteca Discrete
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
43/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 43
Implementa uma amostragem e aproximao de primeira ordem.
Atraso de um perodo de amostra.
Aproximao de ordem zero da entrada num perodo de amostra.
11.3.4. Biblioteca Continuous
Nome do Bloco Aplicao
Deriva um sinal.
Integra um sinal.
Produz o sinal de um tempo anterior.
Implementa um sistema estado-espao linear.
Implementa uma funo de transferncia linear.
Atrasa o sinal por uma determinada quantia de tempo.
Tabela 16: Biblioteca Continous
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
44/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 44
Atrasa o sinal por uma quantia varivel de tempo.
Implementa uma funo de transferncia especificada em termos de
plos e zeros.
11.3.5. Biblioteca Math
Nome do Bloco Aplicao
Produz o valor absoluto do sinal.
Encontra as razes do sinal.
Implementa uma tabela da verdade.
Produz a fase e a magnitude de um sinal complexo.
Produz as partes reais e imaginrias de um sinal complexo.
Gera o produto escalar.
Multiplica o sinal por um determinado valor.
Tabela 17: Biblioteca Math
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
45/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 45
Executa a operao lgica especificada.
Produz um sinal complexo a partir da magnitude e da fase.
Executa uma funo matemtica.
Multiplica o sinal por uma matriz.
Produz o mnimo ou o mximo do sinal.
Gera o produto ou quociente de sinais.
Produz um sinal complexo a partir da parte real e da imaginria.
Executa a operao relacional especificada.
Executa uma funo de arredondamento.
Indica se o sinal positivo ou negativo.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
46/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 46
Ganho varivel.
(Soma)
Gera a soma de sinais.
Executa uma funo trigonomtrica.
11.3.6. Biblioteca Functions & Tables
Nome do Bloco Aplicao
Aplica uma expresso especificada entrada.
Executa interpolao linear da entrada.
Executa interpolao linear de duas entradas.
Aplica uma funo do MATLAB ou expresso entrada.
Permite acesso a uma S-function.
Tabela 18: Biblioteca Functions & Tables
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
47/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 47
11.3.7. Biblioteca Nonlinear
Nome do Bloco Aplicao
Modela o comportamento de um sistema com o decorrer da simulao.
Modelo descontnuo em zero e com ganho linear para os demais
valores.
Prov uma regio de sada zero.
Troca a sada entre duas entrada, manualmente.
Escolhe entre as entradas.
Discretiza um sinal em um intervalo especificado.
Limita a taxa de variao de um sinal.
Troca a sada entre dois nveis.
Limita a amplitude de um sinal.
Troca entre duas entradas.
Tabela 19: Biblioteca Nonlinear
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
48/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 48
11.3.8. Biblioteca Signals & Systems
Nome do Bloco Aplicao
Seleciona os sinais da entrada.
Representa um selecionado bloco qualquer de uma biblioteca
especificada.
Define uma armazenagem de dados compartilhada.
Dados originados de um Data Store Memory.
Escreve dados em um Data Store Memory.
Converte um sinal para outro tipo de dados.
(Demux)
Separa um sinal vetorial em sinais escalares.
Acrescenta uma porta de habilitao a um subsistema.
Recebe a entrada de um bloco de Goto.
Tabela 20: Biblioteca Signals & Systems
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
49/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 49
Executa a funo de chamada de um subsistema a uma determinada
taxa.
Passe a entrada para o bloco From.
Define o alcance de um bloco de Goto.
Sada nula.
Descobre o ponto de cruzamento.
Fixa o valor inicial de um sinal.
Cria uma porta de entrada para um subsistema ou uma entrada externa.
Combina vrias linhas de entrada em uma linha de escalar.
Exibe informaes em um modelo.
(Mux)
Combine vrias linhas de entrada em uma linha de vetor.
Cria uma porta de sada para um subsistema ou uma sada externa.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
50/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 50
Produz a largura de um sinal de entrada, o tempo de amostra, e/ou o
tipo notvel.
Representa um sistema dentro de outro sistema.
Termina um sinal no conectado.
Acrescenta uma porta de gatilho a um subsistema.
Produz a largura do vetor de entrada.
11.4. Especificando os Parmetros dos Blocos
A interface do Simulink permite nomear os valores para os parmetros dos blocos, alguns parmetros so
comuns a todos os blocos. Use a caixa de dilogo Block Proprieties para fixar estes parmetros. Para exibir a
caixa de dilogo, selecione o bloco cujas propriedades se quer fixar. Ento selecione Proprieties do menuEdit
do Simulink.
Alguns parmetros so especficos a blocos particulares. Use a caixa de dilogo Specific-Block Parameterde
um bloco para fixar estes parmetros. Clique duas vezes no bloco para abrir sua caixa de dilogo. Pode aceitar
os valores exibidos ou mud-los. Tambm pode usar o comando set_param para mudar os parmetros dos
blocos.
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
51/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 51
xva
v
velocidade
t
tempo
x
posio
ac
acelerao
s
1
Integrator1
s
1
Integrator
k/2
m/2
-k/m
Ep
En. Potencial
Ec
En. Cinetica
Clock
11.5. Exemplos
11.5.1. Exemplo 1: Sistema Massa-Mola
Figura 21 Representao do Sistema Massa-Mola
Equaes bsicas da Fsica:
Acelerao:2
2
dt
xd
dt
dva == ( 1 )
Velocidade: == adtdtdx
v ( 2 )
Deslocamento: = vdtx ( 3 )
Equaes bsicas do Sistema massa-mola:
Fora: F = -kx = ma 2
2
dt
xdmkx = x
m
k
dt
xda ==
2
2
( 4)
Energia potencial: 22
1kxEp = ( 5 )
Energia cintica : 22
1mvEc = (6)
Verifica-se das equaes que a acelerao no sistema diretamente proporcional ao deslocamento 'x'. O fator de
proporcionalidade a constante '-k/m'. Essa a informao inicial para comear o modelo dado na eq.4.
Figura 22 Modelo do Simulinkpara o Sistema Massa-Mola
m
m
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
52/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 52
-0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.20
5
10
15
posio (m)
EnergiaCinticaePotencial(J)
Energia Cintica
Energia Potencial
-0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2-8
-6
-4
-2
0
2
4
6
8
velocidade(m/s)
posio-8 -6 -4 -2 0 2 4 6 80
5
10
15
velocidade (m/s)
EnergiaCinticaePotencial(J)
Energia Cintica
Energia Potencial
Para a simulao do sistema necessrio fornecer um valor inicial para um dos dois blocos de integrao. Essa
informao ser, no caso, o limite para a varivel de sada. Por exemplo, desejando-se limitar o deslocamento 'x'
entre os valores -20 cm (-0.2 m) e 20 cm, fixa-se em 0.2 o valor inicial da segunda integral. Uma outra
informao fundamental o valor da constante de proporcionalidade 'k' e o valor da massa 'm'. Esses valores
podem ser digitados diretamente no 'prompt' (rea de trabalho doMatlab), como mostrado a seguir:
As Figuras 23, 24 e 25 so resultantes do modelo da Figura 22.
Figura 23 Energia Cintica e Potencial versus Deslocamento
Figura21 Energia Cintica e Potencial versus
Velocidade
Figura 25 Velocidade versus Deslocamento
11.5.2. Exemplo 2: Circuito RC Srie
Considere o circuito eltrico da Figura 26, que possui um resistor e um capacitor em srie alimentados
por uma fonte constante. O capacitor possui uma tenso inicial Vv 10)0(=
e deseja-se obter a respostattv )( para .0t
>> k = 700;
>> m = 0.5
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
53/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 53
Figura 26 Circuito eltrico RC srie com uma fonte de tenso contnua.
Modelagem Matemtica do Circuito
A modelagem matemtica do circuito obtida aplicando-se a 2a Lei de Kirchoff ao percurso fechado, e
usando a forma genrica e, para expressar tenso:
0= vve R
Por outro lado, sabemos relacionar a tenso no resistor e a tenso no capacitor com a corrente que os
atravessam, )(ti :
)(tRivR =
dt
dvCti =)( e Ri(t) v = 0 ou 0= v
dt
dvRCe
Assim, a equao diferencial geral fica:
eRC
vRCdt
dv 11=+
Substituindo os valores de R = 1k e C = 1mF e e = E = 5Vna equao acima, resulta na equao
abaixo:
10)0(:onde
5
=
=+
v
vdt
dv
Soluo do Circuito Utilizando Simulink
Para utilizar o Simulinkdeve-se expressar a equao diferencial da seguinte maneira:
= dtveRCv )(
1
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
54/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 54
A expresso acima conseguida facilmente apenas isolando o termo dtdv e depois aplicando a
integrao (que a operao inversa da derivao). Essa forma ideal para a simulao usando o Simulink.
Constroi-se ento o modelo mostrado na Figura 27.
Figura 27 Diagrama de blocos do Simulinkdo Circuito Eltrico Figura 28 Sada grfica ttv )( para 0t
11.5.3. Exemplo: Simulao de um modelo dinmico
Simulao de um tanque de nvel sob a influncia de uma perturbao degrau na vazo da alimentao. A
figura descreve o sistema fsico que ser simulado.
Figura 29 Simulao de um tanque de nvel
Deduzindo o modelo matemtico que descreve o tanque:
Assumindo que:
i. a densidade do lquido e a rea da seo transversal do tanque A so constantes.
ii. a relao entre a vazo e a carga linear:
O modelo descrito por uma equao de balano transiente de massa no tanque:
0 2 4 6 8 105
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10
Rhq /3 =
321 qqqdt
dhA +=
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
55/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 55
Substituindo a hiptese ii na equao anterior ficamos com:
Introduzindo as variveis-desvio e aplicando a Transformada de Laplace, chegamos as funes de transferncia:
Considere um tanque de 0.5 m de dimetro e uma vlvula na sada na linha atuando sob uma resistncia linear
(R) de 6.37 min/m2. Sero simulados um degrau de 1 ft3 na vazo q1 a partir do tempo igual a 0 min (step) e um
degrau de 1 ft3 na vazo q2 a partir do tempo igual a 10 min(step1).
A = 3.1415 * (0.5/2)^2
A = 0.196
R = 6.37
Figura 30 Diagrama de blocos do Simulinkdo tanque de nvel
R
hqq
dt
dhA += 21
25.1
37.6
==
==
AR
RKp
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
56/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 56
Figura 31 Resposta da simulao do tanque de nvel
11.5.4. Exemplo 4: Controlando o tanque de nvel
Considerando um sistema de controle de nvel mostrado abaixo. O nvel de lquido medido e a sada do
transmissor de nvel (LT) enviada para um controlador feedback (LC) que controla o nvel pelo ajuste da
vazo volumtrica q2. A segunda vazo de fluido, q1, corresponde varivel perturbao corrente chegando de
outra unidade. (corrente no controlada).
Figura 32 Sistema de controle de nvel do tanque
Considerando uma vlvula com a seguinte funo de transferncia:
Considerando um medidor com a seguinte funo de transferncia:
psimKG vv min/0103.03
==
mpsiKG mm /24==
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
57/58
Introduo ao Matlab/Simulink
IFBA/SCTC 2010 57
Figura 33 Diagramas de blocos do sistema de controle de nvel do tanque
Bloco Ganho: Quando a funo de transferncia simplesmente uma constante, como no caso do medidor,
podemos representa-l pelo bloco Gain.
Figura 34 Apresentao do bloco do ganho (gain)
Bloco PID: O controlador representado pelo bloco PID Controller. Podemos regular a sua ao proporcional,
integral e derivativa.
Figura 35 Apresentao do bloco PID
mpsiKG mm /24==
-
8/2/2019 Apostila Introducao Ao MatlabSimulink SCTC
58/58
Introduo ao Matlab/Simulink
12. Referncias Bibliogrficas
HELSELMAN, D; LITTLEFILD, B. MATLAB Verso do estudante guia do usurio. So Paulo:Makron Books, 1997. 308p.
BCHNER, PAULO CEZAR. Matlab: um curso introdutrio. Viosa/Mg: Universidade Federal deViosa , 2010.
Grupo PET, "Curso de MATLAB," Engenharia Eltrica UFMS. Disponvel emhttp://www.del.ufms.br/tutoriais/matlab/apresentacao.htm. Acesso 01 de setembro de 2010.
Grupo PET. Simulink: Guia Prtico. Campo Grande/MS:UFMS, 2003
MATLAB Users Guide, The MathWorks Inc.
TODESCO, Jos Leomar, Curso Introdutrio de Matlab, Universidade Federal de Santa Catarina, 1995.
MATLAB: Curso Introdutrio. Centro brasileiro de pesquisas fsicas, 2002
Tonini, Adriana Maria and Schettino, Daniela Naufel. MATLAB para Engenharia. Curso de Engenhariade Telecomunicaes, Centro Universitrio de Belo Horizonte, 2002.