apostila introducao ao matlabsimulink sctc

Download Apostila Introducao Ao MatlabSimulink SCTC

Post on 06-Apr-2018

218 views

Category:

Documents

0 download

Embed Size (px)

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.