63
  Ministério da Educação Universidade Tecnológica Federal do Paraná  Engenharia Elétrica  UNIVERSIDADE TECNOLÓGICA FEDE RAL DO P ARANÁ P R   AUTOR: DIEGO DIAS PINHEIRO REVISÃO: PROF. JEAN PATRIC DA COSTA PATO BRANCO, OUTUBRO 2013.

Apostila_Matlab_UTFPR

Embed Size (px)

DESCRIPTION

Apostila Matlab.

Citation preview

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    AUTOR: DIEGO DIAS PINHEIRO

    REVISO: PROF. JEAN PATRIC DA COSTA

    PATO BRANCO, OUTUBRO 2013.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    SUMRIO

    1. INTRODUO ...................................................................................................... 4

    2. INICIALIZANDO O AMBIENTE MATLAB ............................................................. 6

    3. CONCEITOS E COMANDOS FUNDAMENTAIS NO MATLAB ............................ 8

    3.1 Operaes Matemticas, Relacionais e Expresses Lgicas ........................ 9

    3.2 Calculadora Cientfica ...................................................................................... 11

    3.3 Formatos Numricos........................................................................................ 13

    3.4 Funes Matemticas ...................................................................................... 13

    4. VETORES.... ....................................................................................................... 17

    4.1 Criando Vetores com Elementos Espaados de um Fator Constante ............. 19

    4.2 Criando Vetores Especificando o Primeiro e ltimo Termo; e em Seguida o

    Nmero de Termos. ............................................................................................... 19

    4.3 Referncia a um Elemento do Vetor ................................................................ 20

    4.3.1 Dois Pontos (:) Referenciando Elementos de Vetor .................................. 21

    4.4 Adicionando Elementos AO Vetor ................................................................... 22

    5. MATRIZES...... ...................................................................................................... 25

    5.1 Referncia a um Elemento da Matriz ............................................................... 25

    5.1.1 Dois pontos (:) Referenciando elementos da matriz.................................. 26

    5.2 Adicionando Elementos a uma Matriz.............................................................. 28

    5.3 Eliminando Termos de uma Matriz .................................................................. 28

    5.4 Matrizes Elementares ...................................................................................... 29

    5.5 Operaes Bsicas com Matrizes ................................................................... 29

    5.5.1 Adio e Subtrao ................................................................................... 30

    5.5.2 Multiplicao ............................................................................................. 31

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5.5.3 Transposta ................................................................................................ 35

    5.5.4 Inversa ...................................................................................................... 36

    5.5.5 Exponenciao .......................................................................................... 36

    5.5.6 Determinante ............................................................................................. 37

    5.6 Funes Nativas do Matlab com Vetores ........................................................ 39

    6.POLINMIOS . ........................................................................................................44

    6.1 Anlise Polinomial ........................................................................................... 44

    6.1.1 Comando Polyval ...................................................................................... 45

    6.1.3 Multiplicao de Polinmios ...................................................................... 46

    6.1.4 Diviso de Polinmios ............................................................................... 46

    6.1.5 Razes do Polinmio ................................................................................. 47

    6.1.6 Calculo ...................................................................................................... 48

    7. GRFICOS... ...................................................................................................... 50

    7.1 Comando - PLOT ......................................................................................... 50

    7.1.1 Comando Subplot .................................................................................. 54

    7.2 Comando POLAR......................................................................................... 56

    7.3 Histogramas ................................................................................................. 57

    8. PROGRAMAO .M .......................................................................................... 58

    8.1 Algoritmos .m ............................................................................................... 58

    8.2 Funo Disp e Fprintf ................................................................................... 62

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    1. INTRODUO

    O MATLAB (Matrix Laboratory), foi criado em 1970 por Cleve Moler na

    Universidade do Novo Mxico, com o intuito original de laboratrio de matrizes,

    tornou-se um propsito mais amplo, sendo um software de computao numrica,

    de anlise e de visualizao de dado, podendo funcionar como uma calculadora ou

    como uma linguagem de programao cientfica.

    Em ambientes universitrios, o MATLAB converteu-se em uma ferramenta

    bsica para professores e alunos com a finalidade de ensino nos cursos, tornando-

    se um apoio nas disciplinas como lgebra linear, sistemas lineares, sistemas de

    controle, processamento de sinais, entre outras disciplinas que compem a grade

    curricular do curso.

    O MATLAB possui um ambiente de simulao de aplicaes totalmente

    orientado para operaes que impliquem em clculos matemticos complexos com

    sua visualizao grfica. possvel desfrutar da anlise numrica, clculo matricial e

    processamento de sinais, em um meio onde as solues dos problemas

    matemticos so propostos de forma clara e objetiva, sem necessidade de fazer uso

    de tcnicas de programao avanada.

    Alm disso, neste poderoso software dispem-se tambm de um amplo

    conjunto de programas de apoio especializado, denominados Toolboxes, que

    otimizam o tempo necessrio para realizar rotinas, uma vez que, o usurio poder

    utilizar funes pr-definidas. Estes Toolboxes cobrem praticamente todas as reas

    principais no universo da engenharia, destacando-se entre elas a toolbox de

    processamento de imagens, sinais, controle robusto, estatstica, anlise financeira,

    clculo matemtico simblico, redes neurais, lgica fuzzy, identificao de sistemas,

    simulao de sistemas dinmicos, entre outros.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    PROPSITO DA APOSTILA A UTFPR dispe de licenas institucionais utilizadas para o ensino em diferentes disciplinas dos cursos de graduao e ps-graduao. A verso do MATLAB abordada aqui nessa apostila a 2013a. Porm, verses anteriores possuem tambm as ferramentas necessrias para os estudos abordados nessa apostila. O software MATLAB um programa abrangente. Por esse motivo, invivel abordar todas as particularidades em um s material. O propsito dessa apostila primeiramente apresentar, os fundamentos bsicos do MATLAB. Uma vez consolidado esses fundamentos, os estudantes sero capazes de aprofundar em tpicos mais avanados, muitas vezes recorrendo apenas a menu Help do prprio MATLAB. Os principais objetivos dessa apostila so tambm impulsionar e fundamentar os estudos da ferramenta MATLAB, a partir de noes bsicas. Bom Estudo!

    Este material trata-se de uma Apostila

    Introduo ao MATLAB, elaborado

    pelo acadmico de engenharia eltrica

    Diego Dias Pinheiro e revisado pelo

    Prof. Dr. Jean Patric da Costa.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    2. INICIALIZANDO O AMBIENTE MATLAB

    Uma vez inicializado o MATLAB, aparecer a janela principal, composta

    de quatro pequenas janelas: Command Window, Current Folder, Workspace,

    Command History. Esse o modo de abertura padro (default) do Matlab. A verso

    do software utilizada para elaborao da apostila Matlab2013a, portanto, para ter o

    controle da janela principal, optando pela opo de ocultar alguma janela, bastar

    procurar na barra de ferramentas por Environment Layout Show e desmarque

    a janela. A figura 1 apresenta as quatro principais janelas de inicializao.

    Figura 1 - Janela Inicial do MATLAB.

    Command Window: A principal janela do MATLAB. ativada sempre que o

    software inicializado. Nesta janela, o prompt padro(>>) exibido na tela e, a

    partir deste ponto, o MATLAB espera as as instrues do usurio.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Current Folder: Exibe os arquivos presentes no diretrio ou na pasta desejada;

    Workspace: Disponibiliza informaes sobre as variveis e dados em uso;

    Command History: Apresenta o histrico dos comandos mais recentes digitados

    na janela Command Window. Pode ser til quando preciso repetir uma

    sequncia de comandos ou localizar uma sintaxe de comando usada

    anteriormente.

    Outra janela importante o Editor M-files, na barra de Menus

    acessando New Script. Muitas vezes, tentar resolver um determinado problema

    no MATLAB digitando muitos comandos seguidos demasiadamente trabalhoso. E

    na janela Command Window cada vez que a tecla Enter pressionada, somente o

    ltimo comando digitado executado, sendo que o restante do trabalho tornase

    inutilizado. Se forem necessrias modificaes ou correes em um determinado

    comando da srie executada e os resultados gerados por eles afetarem comandos

    em uma certa sequncia encadeada, toda a sequncia de comando deve ser

    selecionada e executada novamente na linha do prompt da janela Command

    Window, isto , um comando de srie deve ser chamado e executado outra vez.

    Uma forma diferente de executar o algoritmo no MATLAB criando um

    arquivo com uma lista de comandos, salv-la e, ento, rodar o arquivo. Quando o

    arquivo executado, a lista de comando vai sendo processada na ordem em que

    est listada no arquivo. Caso seja necessrio realizar alguma modificao na lista de

    comandos, basta modificar o algoritmo, salv-lo e executar novamente. Os arquivos

    criados com esse propsito so denominados rotinas, M-files ou script files. Na

    sequncia sero realizadas algumas rotinas, para melhor entendimento do

    funcionamento do software, na figura 2 apresenta a janela Editor.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Figura 2 - Janela Editor.

    3. CONCEITOS E COMANDOS FUNDAMENTAIS NO MATLAB

    Observaes quando ao uso da janela Command Window:

    Para digitar um comando, o cursor deve ser posicionado junto ao prompt

    de comando (>>).

    Para que o comando seja executado bastar apertar a tecla Enter, mas

    apenas o ltimo comando ser executado.

    Vrios comandos podem ser digitados na mesma linha, para realizar esse

    feito, basta separ-los por vrgulas. Quando a tecla Enter for pressionada,

    os comandos so executados, sucessivamente da esquerda para direita.

    Os comandos digitados so armazenados em um buffer de comandos, no

    qual pode-se navegar usando as teclas seta-para-cima e seta-para-

    baixo .

    Os comandos terminados com ponto e vrgula ; no exibem as variveis

    de resposta na tela. Esse comando til quando a impresso do

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    resultado na tela no interessa, ou quando a impresso muito extensa

    como, por exemplo, uma matriz 100 x 100. Apesar da impresso ser

    suspensa, o comando executado pelo programa.

    Deve-se tomar cuidado com as declaraes de variveis, as quais devem

    ser iniciadas com letras e no podem conter espaos ou caracteres de

    pontuao. O mesmo tambm faz a distino entre as letras minsculas e

    maisculas (case-sensitive).

    As variveis podem ser redefinidas a qualquer momento, bastando

    apenas atribu-las um novo valor. As mesmas podem ser excludas do

    espao de trabalho usando o comando clear, Por exemplo:

    clear nome_da_varivel Exclui somente a varivel especificada;

    clear ou clear all Exclui todas as variveis do espao de trabalho;

    clc Limpa a tela Command Window.

    Os comandos de ajuda so muito teis, at para os usurios mais

    experientes, pois esses comandos ensinam como utilizar determinadas

    funes ou comandos, Por exemplo:

    help a forma mais simples de conseguir ajuda caso voc saiba

    exatamente o tpico a respeito do qual necessita de informaes.

    lookfor Fornece ajuda fazendo uma busca em toda a primeira linha dos

    tpicos de ajuda e retornando aqueles que contm as palavras-chaves

    que voc especificou. O mais importante que a palavra-chave no

    precisa ser um comando no MALTAB.

    3.1 OPERAES MATEMTICAS, RELACIONAIS E EXPRESSES LGICAS

    No MATLAB as expresses seguem a ordem matemtica

    potenciao, seguida da multiplicao ou diviso, que por sua vez so seguidas

    pelas operaes de adio ou subtrao. Os parntesis podem ser usados para

    alterar esta ordem. Neste caso, os parntesis mais internos so avaliados antes dos

    mais externos. A tabela 1 apresenta as operaes bsicas.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Tabela 1 - Operaes Bsicas.

    OPERAO

    SMBOLO

    EXEMPLO

    Adio + 3+1

    Subtrao - 32

    Diviso / 4/2

    Multiplicao * 3*3

    Potenciao ^ 3^3

    Note que o espao na linha de comando no considerado durante a

    execuo do algoritmo.

    Uma expresso se diz lgica se os operadores so lgicos e os

    operandos so relaes ou variveis do tipo lgico. Os operadores relacionais

    realizam comparaes entre valores do mesmo tipo. Os operadores relacionais

    utilizados pelo MATLAB so apresentados na tabela 2.

    Tabela 2 Operaes Relacionais.

    Operador Relacional Descrio

    > Maior que

    >= Maior Igual a

    < Menor que

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    lgica verdadeiro ou falso, ou seja, a resposta ser 1 que significa verdadeiro e 0

    que significa falso.

    Por exemplo no MATLAB:

    Os operadores lgicos permitem a combinao ou negao das relaes

    lgicas. Os operadores lgicos do MATLAB so apresentados na tabela 3.

    Tabela 3 - Operadores Lgicos.

    Operador Lgico Descrio Uso

    ~ NO Negao

    | OU Disjuno

    & E Conjuo

    3.2 CALCULADORA CIENTFICA

    A primeira forma de se utilizar o MATLAB ou a maneira mais simples

    como calculadora cientfica, atravs da digitao de comandos diretamente no seu

    prompt da janela Command Window e pressionando a tecla Enter. O MATLAB

    calcula as expresses emite uma resposta ans e exibe o resultado numrico na linha

    seguinte. No quadro 1 so demonstrados alguns exemplos, de como utilizar o

    MATLAB como calculadora.

    >> 7 >= 3

    ans =

    1

    >> 2==1

    ans =

    0

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Nota se que o resultado da operao no MATLAB foi atribudo varivel

    ans. possvel atribuir nomes a essa auxiliar, o quadro 2 apresenta como

    realizado a atribuio de valores a variveis.

    Quadro 2 Calculadora Cientfica

    ]

    >> 3+6/3

    ans =

    5

    >> (7+3)/2

    ans =

    5

    >> 2^3/4

    ans =

    2

    >> 3^(1/2)+2^0.8

    ans =

    3.4732

    >> 3^1/2+2^0.8

    ans =

    3.2411

    >> a = 4, b=5, c = 7, d = 2

    a =

    4

    b =

    5

    c =

    7

    >> resultado = (a+b+c)/3

    resultado =

    5.3333

    Quadro 1 Calculadora Cientfica

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    3.3 FORMATOS NUMRICOS

    possvel controlar o formato segundo o qual o MATLAB exibe os dados

    na tela. No caso de que nenhum formato esteja definido, se o resultado for um

    nmero inteiro, ser mostrado o prprio. Quando um resultado um nmero real,

    este mostra o resultado com uma aproximao de at quatro casas decimais. Se os

    dgitos significativos estiverem fora desta faixa, ser apresentado o resultado em

    forma de notao cientfica. Porm, pode-se pr-definir um formato diferente

    utilizando os seguintes comandos, apresentado na tabela 4.

    Tabela 4 - Formatos Padronizados

    Comando Descrio

    format short 4 dgitos decimais (formato

    default)

    Ex: 23.2000

    format long 16 dgitos decimais

    Ex: 23.2000000000000000

    format short e 5 dgitos mais expoente

    Ex: 2.3200e+1

    format long e 16 dgitos mais expoente

    Ex: 2.320000000000000e+1

    format rat Exibe no formato Racional

    Ex: 116/5

    format bank 2 dgitos decimais

    Ex: 23.20

    3.4 FUNES MATEMTICAS

    O MATLAB possui uma biblioteca imensa de funes. Uma funo

    caracterizada por um nome e um argumento entre parnteses. Por exemplo, a

    funo que calcula o valor absoluto de um varivel abs(a). O nome da funo abs

    e o argumento a. Funes tambm podem ser includas no argumento de outras

    funes, assim como em expresses.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    A tabela 5 apresenta uma lista de funes elementares, mostrando ao

    lado como utilizar essas funes.

    Tabela 5 - Funes Matemticas.

    Funo Descrio Exemplo

    abs(x) Valor absoluto ou mdulo de um

    nmero complexo

    >> y = abs(-12)

    y =

    12

    cos(x) Cosseno do argumento x >> y = cos(pi/4)

    y =

    0.7071

    acos(x) Arco cosseno >> y = acos(2/3)

    y =

    0.8411

    sin(x) Seno do argumento x >> y = sin(pi/3)

    y =

    0.8660

    asin(x) Arco Seno >> y = asin(1/3)

    y =

    0.3398

    tan(x) Tangente do argumento x >> y = tan(pi/4)

    y =

    1.0000

    atan(x) Arco Tangente >> y = atan(5/8)

    y =

    0.5586

    exp(x) Exponencial

    e x constante matemtica neperiana

    >> y = exp(3)

    y =

    20.0855

    angle(x) ngulo de um nmero complexo >> x = 2+3i;

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    >> y = angle(y)

    y =

    0.9828

    real(x) Parte real de um nmero complexo >> y = real(x)

    y =

    2

    imag(x) Parte imaginria de um nmero

    complexo

    >> y = imag(x)

    y =

    3

    conj(x) Conjugado Complexo >> y = conj(x)

    y =

    2.0000 - 3.0000i

    log(x) Logaritmo natural >> y = log(3)

    y =

    1.0986

    log10(x) Logaritmo na base 10 >> y = log10(5)

    y =

    0.6990

    sqrt(x) Raiz quadrada de x >> y = sqrt(18)

    y =

    4.2426

    lcm(x,y) Mnimo mltiplo comum de x e y >> x = 4, y = 18;

    >> z = lcm(x,y)

    z =

    36

    gcd(x,y) Mximo divisor comum de x e y >> x = 4, y = 18;

    >> z = gcd(x,y)

    z = 2

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Por fim, observa-se ainda que o MATLAB utiliza o ponto para casa

    decimal e a vrgula fica reservada para funes especiais. Como por exemplo

    definio de vetores.

    Com base no que foi apresentado at ento, tem-se o seguinte exemplo a

    ser resolvido:

    Exemplo de Aplicaes no Matlab 1.

    Um determinado objeto que est submetido a uma temperatura inicial T0 colocado

    no instante de t = 0, dentro de um congelador temperatura constante Ts. A

    variao de temperatura do objeto determinado pela seguinte lei:

    = + (0 )

    Onde T a temperatura do objeto em um tempo t qualquer e k uma constante.

    Com base nas informaes, considere uma lata de refrigerante na qual encontra-se

    a uma temperatura de 39,7C. Em seguida, colocada dentro de um congelador

    onde a temperatura 2,7C. Determine a temperatura da lata em graus Celsius, 4

    horas aps a lata ser colocada no congelador. Considere a constante k = 0,35.

    Teste Resolva os problemas a seguir utilizando a janela Command Window.

    1. Calcule:

    a) (20.5 5 42) 5.113 + 3.2 ;

    b) (3 + 8)2 + 44 3 7

    c) cos(5 6 ) (2

    3 ) + tan( ln(8)

    6 )

    2. Declare as variveis x e z como x = 3.1 e z = 8. Determine o valor da

    expresso:

    >> T0 = 39.7; k = 0.35; t = 4; Ts = 2.7;

    >> T = Ts + (T0 - Ts)*exp(-k*t)

    T =

    11.8241

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    a) + 2 3 + ( 3 )2/3

    3. No tringulo retngulo mostrado na figura 3, a = 10cm e c = 4cm. Determine o

    valor do cateto adjacente b utilizando o Teorema de Pitgoras e em seguida

    determine o ngulo em graus.

    Dica: Declare as variveis inicialmente.

    a c

    4. A distncia d de um ponto (x0,y0) funo da reta expressa por Ax+By+C =

    0 dada por:

    = |0 + 0 + |

    2 + 2

    Determine a distncia do ponto(3,-2) reta 2x + 5y 8 = 0.

    Dica: Declare as variveis A,B,C,x0,y0, na sequncia calcule d.

    5. A intensidade M de um terremoto na escala Richter dada pela seguinte

    equao: =2

    3log( 0

    ). Onde E a energia liberada pelo tremor e E0 = 104,4

    Joules uma constante (energia liberada em um tremor de terra de referncia).

    Determine quantas vezes a energia liberada em um terremoto de 7.2 na escala

    Richter maior do que um terremoto 5.3 nessa mesma escala.

    4. VETORES

    O MATLAB inicialmente tinha como propsito de trabalhar com

    manipulaes de matriz, sendo assim a essncia do software manipulao de

    matriz. Observa-se que um escalar uma matriz de dimenso 1x1 e que um vetor

    uma matriz que possui somente uma linha ou uma coluna.

    b

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    A maneira mais fcil de introduzir pequenas matrizes no MATLAB uma

    lista explcita. Para criar uma varivel onde armazenada uma matriz, basta

    escrever os elementos da matriz entre colchetes, onde os elementos de uma mesma

    linha da matriz separados por vrgula ou espao e as colunas separadas por ponto e

    vrgulas.

    Qualquer lista de nmeros pode ser tratada como um vetor. Por exemplo,

    a tabela 6 apresenta o crescimento populacional que podem ser utilizados para criar

    duas listas de nmeros: uma referente a anos e outra da populao. Cada lista pode

    ser consideradas como sendo constitudas de entradas, elementos de um vetor,

    organizados em linha ou coluna.

    Tabela 6 - Crescimento Populacional.

    Ano 1984 1986 1988 1990 1992 1994 1996

    Populao

    (milhes)

    127 130 136 145 158 178 221

    O quadro 3 apresenta a criao dos vetores da tabela 6 no MATLAB.

    E para declarar uma matriz no software, segue a mesma ideia dos

    vetores, porm o ; indica a prxima linha. Por exemplo, o quadro 4 ilustra como

    armazenar a matriz K.

    = [1 2 34 5 6

    ]

    >> K = [1 2 3;4 5 6]

    K =

    1 2 3

    4 5 6

    Quadro 4 Criando uma Matriz

    >> Ano = [1984 1986 1988 1990 1992 1994 1996];

    >> Populacao = [127 130 136 145 158 178 221];

    Quadro 3 Criando Vetores

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    4.1 CRIANDO VETORES COM ELEMENTOS ESPAADOS DE UM FATOR

    CONSTANTE

    Os vetores acima tiveram seus elementos definidos um a um. No entanto

    vetores podem ser constitudos especificando-se valores iniciais, incrementos e

    finais, o quadro 5 apresenta este modo, onde foi definido um vetor A variando de 2 a

    7 (de um em um) e outro indo de 0 a 15, mas de trs em trs.

    4.2 CRIANDO VETORES ESPECIFICANDO O PRIMEIRO E LTIMO TERMO; E

    EM SEGUIDA O NMERO DE TERMOS.

    Um vetor cujo o primeiro elemento i, o ltimo elemento f e o nmero

    de elementos n, pode ser criado por meio do comando linspace(i,f,n) (O MATLAB

    determina o incremento/decremento correto). Alguns exemplos so apresentados no

    quadro 6.

    = (, , )

    >> A = 2:7, B = 0:3:15

    A =

    2 3 4 5 6 7

    B =

    0 3 6 9 12 15

    Quadro 5 Vetores

    >> V = linspace(1,38,7)

    V =

    1.0000 7.1667 13.3333 19.5000 25.6667 31.8333 38.0000

    >> W = linspace(3,0.1,5)

    W =

    3.0000 2.2750 1.5500 0.8250 0.1000

    Quadro 6 Comando linspace

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    O comando linspace sem o ltimo elemento fornece um vetor de 100

    elementos como padro. O tamanho do vetor pode ser verificado com o comando

    length, como no exemplo abaixo:

    De maneira similar o comando logspace(i,j,n) fornece n elementos entre

    10i e 10j. A ausncia do terceiro argumento, n, fornece 50 elementos entre 10i e 10j.

    4.3 REFERNCIA A UM ELEMENTO DO VETOR

    Elementos em um vetor podem ser referenciados (endereados)

    individualmente ou em subgrupos, isto , til quando necessrio redefinir apenas

    um dos elementos ou grupo de elementos de um vetor ou usar o valor de um

    elemento especfico em clculos, ou ainda, quando elementos em subgrupos so

    usados para redefinir uma nova varivel.

    Realizar referncia a um elemento de um vetor indicar a posio que ele

    ocupa na linha ou coluna desse vetor. Para um vetor x, x(k) referncia o elemento na

    posio k. A primeira posio, mais esquerda do vetor, a nmero 1. Por

    exemplo, se o vetor x possui cinco elementos:

    [x] = 12 32 45 67 19

    Ento, x(2) = 32, x(5) = 19 e x(1) = 12.

    Um nico elemento do vetor, x(k) pode ser usado como uma varivel. Por

    exemplo, possvel mudar o valor desse elemento atribuindo-lhe um novo valor na

    posio desejada. Para realizar esse feito, basta digitar x(k) = novo valor. Alguns

    exemplos:

    >> c = linspace(1,10);

    >> comprimento_do_vetor = length(c)

    comprimento_do_vetor =

    100

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    4.3.1 Dois Pontos (:) Referenciando Elementos de Vetor

    possvel referenciar uma faixa de elementos dentro de um vetor, isso

    realizado atravs do comando :.

    Para um vetor

    a(:) Referencia todos os elementos do vetor a (na linha ou coluna do vetor).

    a(x:y) Referencia os elementos entre as posies x e y do vetor a.

    Exemplo:

    >> y = [3 21 62 12 78 56 48 99]

    y =

    3 21 62 12 78 56 48 99

    >> y(4)

    ans =

    12

    >> y(7)

    ans =

    48

    >> z = y(1)+y(8)

    z =

    102

    >> w = sqrt(y(3))+y(1)^3-y(2)

    w =

    13.8740

    >> a = [1 4 -9 23 24 7]

    a =

    1 4 -9 23 24 7

    >> b = a(2:5)

    b =

    4 -9 23 24

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    4.4 ADICIONANDO ELEMENTOS AO VETOR

    Os elementos podem ser adicionados atribuindo-se valores aos novos

    elementos do vetor. Por exemplo, se um vetor possui 6 elementos, pode-se

    aumenta-lo atribuindo valores aos elementos 7, 8, e assim por diante. Se um vetor

    possui n elementos e um novo valor atribudo ao elemento cuja a referncia n+4

    ou maior, o MATLAB, encarrega-se de atribuir zeros aos elementos posicionados

    entre o ltimo elemento original e o novo elemento terminal do vetor. Exemplos:

    >> v = [1 5 3 -9 5]

    v =

    1 5 3 -9 5

    >> v(6:12) = linspace(8,20,7)

    v =

    1 5 3 -9 5 8 10 12 14 16 18 20

    >> w = [ 2 5 3 7]

    w =

    2 5 3 7

    >> w(6) = 99

    w =

    2 5 3 7 0 99

    >> q (4) = -0.9

    q =

    0 0 0 -0.9000

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Funo Descrio Exemplo

    mean(A) Se A um vetor, retorna o valor

    mdio dos elementos do vetor

    >> A = [1 4 3 8 5]

    A =

    1 4 3 8 5

    >> mean(A)

    ans =

    4.2000

    B = max(A)

    [d,n] = max(A)

    Se A um vetor, B receber o

    maior elemento de A. Se A

    uma matriz, B um vetor linha

    contento o maior elemento em

    cada coluna de A

    Se A um vetor, d recebe o

    maior elemento de A e n indica

    a posio desse elemento no

    vetor.

    >> A = [1 4 3 -11 9 8 51]

    A =

    1 4 3 -11 9 8

    51 >> B = max(A)

    B =

    51

    >> [d,n] = max(A)

    d =

    51

    n =

    7

    C = min(A)

    [d,n] = min(A)

    Semelhante funo max(A),

    mas retorna o menor elemento

    de A

    Semelhante a [d,n] = max(A)

    Para o menor elemento de A.

    >> A = [-11 4 0 8]

    A =

    -11 4 0 8

    >> B = min(A)

    B =

    -11

    >> [d,n] = min(A)

    d =

    -11

    n =

    1

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    sum(A) Se A um vetor, retorna a soma

    dos elementos do vetor

    >> A = [1 2 3 4];

    >> sum(A)

    ans = 10

    sort(A) Se A um vetor, ordena os

    elementos de A na ordem

    crescente

    >> A = [ 3 2 1 7 6]

    A =

    3 2 1 7 6

    >> sort(A)

    ans =

    1 2 3 6 7

    std(A) Se A um vetor, retorna o

    desvio padro dos elementos

    do vetor

    >> A = [1 -3 4 5 2 -7]

    A =

    1 -3 4 5 2 -7

    >> std(A)

    ans =

    4.5461

    dot(a,b) Determina o produto escalar de

    dois vetores a e b. Os vetores

    podem ser tanto linha quanto

    coluna

    >> a = [1 3 4]

    a =

    1 3 4>

    >> b = [5 8 1]

    b =

    5 8 1

    >> dot(a,b)

    ans =

    33

    cross(a,b) Determina o produto vetorial de

    dois vetores a e b (a x b). Os

    dois vetores devem possuir trs

    elementos.

    >> cross(a,b)

    ans =

    -29 19 -7

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5. MATRIZES

    O conhecimento das tcnicas de manipulao de matrizes fundamental

    pois dados importados para o espao de trabalho do MATLAB so tratados como

    matrizes. Alm disso, exercem um papel importante na lgebra linear e so usadas

    na engenharia (e em outras cincias) para descrever muitas grandezas fsicas.

    As entradas de uma matriz podem conter nmeros ou expresses

    matemticas (formadas de nmeros, variveis declaradas e funes).

    necessariamente importante que todas as linhas possuam a mesma

    quantidade de elementos. Caso um elemento na linha conter o valor zero, ele deve

    ser digitado.

    As linhas das matrizes tambm podem ser definidas atravs dos

    comandos utilizados anteriormente para se definir vetores linha. Por exemplo:

    5.1 REFERNCIA A UM ELEMENTO DA MATRIZ

    A posio de referncia de um elemento em uma matriz definida

    especificando-se o nmero da linha e da coluna que o elemento ocupa. Declarando

    uma matriz qualquer N, sendo a mesma N(m,n) faz referncia ao elemento na linha

    m e na coluna n.

    >> A =[1:4;linspace(2,8,4);5:5:20]

    A =

    1 2 3 4

    2 4 6 8

    5 10 15 20

    >> A = [a-c, b*sqrt(c);sin(b/c) a^3/tan(a/b)]

    A =

    -7.8000 23.2164

    0.5943 66.6158

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Por exemplo, dada uma matriz: = [2 3 12

    8 + 3 5 0.96 1 0

    ]

    Ento, N(2,3) = -0.9 e N(3,1) = 6.

    Assim como nos vetores, possvel alterar o valor de apenas um

    elemento da matriz atribuindo-lhe um novo valor. A seguir, so apresentados alguns

    exemplo com a manipulao das posies dos elementos da matriz.

    5.1.1 Dois pontos (:) Referenciando elementos da matriz

    Para uma matriz:

    A(:,n) Referencia os elementos da matriz A em todas as linhas da coluna n.

    A(n,:) Referencia os elementos da matriz A em todas as colunas da linha n.

    A(m:n,:) Referencia os elementos da matriz A em todas as colunas entre as linhas

    m e n.

    A(:,m:n) Referencia os elementos da matriz A em todas as linhas entre as colunas

    m e n.

    A(m:n,k:l) Referencia os elementos da matriz A entre as linhas m e n e as colunas

    k e l.

    Exemplos:

    N =

    4.2456 3.7887 3.2774 0.1592

    4.6700 3.7157 0.8559 1.3846

    3.3937 1.9611 3.5302 0.2309

    >> M = N(3,4)

    M =

    0.2309

    >> O = N(3,3) - N(1,4)

    O =

    3.3711

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    >> A = rand(4,6)

    A =

    0.0971 0.9502 0.7655 0.4456 0.2760 0.1190

    0.8235 0.0344 0.7952 0.6463 0.6797 0.4984

    0.6948 0.4387 0.1869 0.7094 0.6551 0.9597

    0.3171 0.3816 0.4898 0.7547 0.1626 0.3404

    >> B = A(:,6)

    B =

    0.1190

    0.4984

    0.9597

    0.3404

    >> C = A(3,:)

    C =

    0.6948 0.4387 0.1869 0.7094 0.6551 0.9597

    >> D = A(1:2,:)

    D =

    0.0971 0.9502 0.7655 0.4456 0.2760 0.1190

    0.8235 0.0344 0.7952 0.6463 0.6797 0.4984

    >> E= A(:,3:5)

    E =

    0.7655 0.4456 0.2760

    0.7952 0.6463 0.6797

    0.1869 0.7094 0.6551

    0.4898 0.7547 0.1626

    >> F = A(3:4,1:2)

    F =

    0.6948 0.4387

    0.3171 0.3816

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5.2 ADICIONANDO ELEMENTOS A UMA MATRIZ

    Conforme o vetor, linhas e colunas podem ser inseridas em uma matriz

    previamente declarada. Isso feito atribuindose valores novos elementos situados

    as linhas e colunas da matriz. Exemplos:

    5.3 ELIMINANDO TERMOS DE UMA MATRIZ

    Um termo ou um grupo de elementos em uma varivel declarada pode(m)

    ser apagada(s) atribuindo vazio a esse elemento. Isso feito usando-se colchetes

    sem nenhum espao ou caractere entre eles. Apagando o(s) elemento(s) desejados.

    Exemplos:

    >> M = [ 1 3 4; 1 4 5]

    M =

    1 3 4

    1 4 5

    >> M(3,:) = [ 2 6 9]

    M =

    1 3 4

    1 4 5

    2 6 9

    >> N(:,5) =[12 21]

    N =

    1 3 4 5 12

    5 4 3 1 21

    >> A = rand(2,3)

    A =

    0.8909 0.5472 0.1493

    0.9593 0.1386 0.2575

    >> A(:,3) = []

    A =

    0.8909 0.5472

    0.9593 0.1386

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5.4 MATRIZES ELEMENTARES

    Tabela 7 - Matrizes Elementares.

    Tipo de Matriz Descrio Exemplo

    Matriz Identidade Cria uma matriz quadrada

    com n linhas e n colunas,

    cujos elementos da

    diagonal principal so

    iguais a 1 e os demais so

    0

    >> A = eye(3)

    A =

    1 0 0

    0 1 0

    0 0 1

    Matriz Nula Cria uma matriz m x n,

    cujos os elementos so os

    nmeros 0.

    >> B = zeros(3,2)

    B =

    0 0

    0 0

    0 0

    Matriz Unidade Cria uma matriz m x n,

    cujos os elementos so os

    nmeros 1.

    >> c = ones(2,3)

    c =

    1 1 1

    1 1 1

    Matriz Aleatria Cria uma matriz

    com nmeros randmicos

    >> D = rand(2,3)

    D =

    0.4218 0.7922 0.6557

    0.9157 0.9595 0.0357

    5.5 OPERAES BSICAS COM MATRIZES

    O MATLAB contm dois tipos diferentes de operaes aritmticas. As

    operaes aritmticas matriciais so definidas pelas regras de lgebra Linear. As

    operaes aritmticas com arrays (conjuntos) so efetuadas elemento por elemento.

    O caractere de ponto decimal . distingue as operaes matriciais das operaes

    com arrays. No entanto, como as operaes matriciais e com arrays so iguais para

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    soma e para a subtrao, o par de caractere . + e . - no so utilizados para estas

    operaes.

    As operaes bsicas com matrizes no MATLAB so as seguintes:

    Adio;

    Subtrao;

    Multiplicao;

    Transposta;

    Inversa;

    Exponenciao;

    Determinante.

    5.5.1 Adio e Subtrao

    A adio e a subtrao de matrizes so indicadas, respectivamente, por

    + e -. Assim como na matemtica, as operaes so definidas apenas se as

    matrizes apresentarem as mesmas dimenses n x n.

    A adio e a subtrao tambm so definidas se um dos operadores for

    um escalar, ou seja, uma matriz 1x1. Neste caso, o escalar adicionado ou

    subtrado de todos os elementos do outro operador.

    Exemplos:

    1) Operao de Matriz com Escalares

    >> A A = 3.0000 -2.0000 5.6000 1.0000 21.0000 9.0000 >> B = A-2 B = 1.0000 -4.0000 3.6000 -1.0000 19.0000 7.0000 >> C = 3.3+A C = 6.3000 1.3000 8.9000 4.3000 24.3000 12.3000

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    2) Operaes de Adio e Subtrao de Matrizes

    5.5.2 Multiplicao

    A operao de multiplicao (*) executada no MATLAB de acordo com

    as regras de lgebra linear, ou seja, que se A e B so duas matrizes, a operao

    A*B tem sentido se, e somente se, o nmero de colunas da matriz A for igual ao

    nmero de linhas da matriz B. O resultado uma matriz que possui o nmero de

    linhas da matriz A com o nmero de colunas da matriz B.

    Dois vetores podem ser multiplicados um pelo outro apenas se possurem

    o mesmo nmero de elementos e se um dos vetores for um vetor linha e outro vetor

    coluna.

    Exemplos:

    >> A = [ 3 -2 5.6; 1 21 9]

    A =

    3.0000 -2.0000 5.6000

    1.0000 21.0000 9.0000

    >> B = [1 3 -6;0.6 4 -31]

    B =

    1.0000 3.0000 -6.0000

    0.6000 4.0000 -31.0000

    >> C = A+B

    C =

    4.0000 1.0000 -0.4000

    1.6000 25.0000 -22.0000

    >> D = A-B

    D =

    2.0000 -5.0000 11.6000

    0.4000 17.0000 40.0000

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    1) Operao com escalares

    >> A = [1 4;1 3.7;0.9 -1.2]

    A =

    1.0000 4.0000

    1.0000 3.7000

    0.9000 -1.2000

    >> B = pi*A

    B =

    3.1416 12.5664

    3.1416 11.6239

    2.8274 -3.7699

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    2) Operao de Multiplicao de Matrizes

    >> A = [-1 5; 6 8; 9 1.8]

    A =

    -1.0000 5.0000

    6.0000 8.0000

    9.0000 1.8000

    >> B = [0.6 3.5 7;-9 3 -12]

    B =

    0.6000 3.5000 7.0000

    -9.0000 3.0000 -12.0000

    >> C = A*B

    C =

    -45.6000 11.5000 -67.0000

    -68.4000 45.0000 -54.0000

    -10.8000 36.9000 41.4000

    >> D = [1 2.8;5 7]

    D =

    1.0000 2.8000

    5.0000 7.0000

    >> E = [3 1;4 9]

    E =

    3 1

    4 9

    >> F = D*E

    F =

    14.2000 26.2000

    43.0000 68.0000

    >> G = E*D

    G =

    8.0000 15.4000

    49.0000 74.2000

    >>

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    OBS: O produto F = D*E no igual ao produto G = E*D.

    3) Operao de Multiplicao de Matrizes Elemento a Elemento

    OBS: Este tipo de operao realizada utilizando- se um ponto (.) antes do

    operador de multiplicao(*).

    >> E = [3 1;4 9]

    E =

    3 1

    4 9

    >> F = D*E

    F =

    14.2000 26.2000

    43.0000 68.0000

    >> G = E*D

    G =

    8.0000 15.4000

    49.0000 74.2000

    >> A = [1 2;2 1]

    A =

    1 2

    2 1

    >> B = [2 3;3 2]

    B =

    2 3

    3 2

    >> C = A.*B

    C =

    2 6

    6 2

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5.5.3 Transposta

    Dada uma matriz A de ordem m x n, a matriz transposta ser

    representada por At de ordem n x m. Essa ordem invertida significa que para realizar

    a transformao de um matriz para uma matriz transposta, basta trocar os elementos

    das linhas pelo das colunas.

    Para obter a matriz transposta no MATLAB, basta utilizar o apstrofo ,

    indica a transposta de uma matriz. Caso a matriz A for complexa a operao ,

    alm de realizar a transposio tambm realiza o conjugado dos nmeros

    complexos.

    Exemplos:

    >> A = [ 1 2 3;4 5 6; 7 8 9]

    A =

    1 2 3

    4 5 6

    7 8 9

    >> B = A'

    B =

    1 4 7

    2 5 8

    3 6 9

    >> C

    C =

    1.0000 + 2.0000i 0.0000 + 1.0000i

    3.0000 - 7.0000i -1.0000 + 1.0000i

    >> D = C'

    D =

    1.0000 - 2.0000i 3.0000 + 7.0000i

    0.0000 - 1.0000i -1.0000 - 1.0000i

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5.5.4 Inversa

    Uma matriz B a matriz inversa da matriz A se o produto dessas duas

    matrizes a matriz identidade (supondo que possvel multiplicar as duas matrizes).

    Ambas as matrizes devem ser quadradas e a multiplicao deve comutar, isto , a

    ordem BA ou AB no importante. Obviamente, se B a inversa de A, naturalmente

    A ser inversa de B.

    = =

    No MATLAB, a inversa de uma matriz pode ser obtida elevando a matriz

    potncia 1 ou utilizando a funo inv().

    Exemplo:

    5.5.5 Exponenciao

    A expresso A^n eleva A n-sima potncia e definida se A matriz

    quadrada e n um escalar. Se n um inteiro maior do que 1, a exponenciao

    executada como mltiplas multiplicaes.

    >> A = [3 -1;2 9]

    A =

    3 -1

    2 9

    >> B = A^-1

    B =

    0.3103 0.0345

    -0.0690 0.1034

    >> B = inv(A)

    B =

    0.3103 0.0345

    -0.0690 0.1034

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    A exponenciao por elemento entre matrizes definida de maneira

    similar multiplicao por elemento, ou seja, A.^n = aij bij.

    5.5.6 Determinante

    A determinante de uma matriz uma funo matricial, que associa a cada

    matriz quadrada a um escalar. Esta funo permite determinar se a matriz possui ou

    no inversa.

    Exemplo:

    >> A = [1 3;8 9]

    A =

    1 3

    8 9

    >> B = A^7

    B =

    4389625 5665125

    15107000 19496625

    >> B = A.^7

    B =

    1 2187

    2097152 4782969

    >> A = [ 1 23 8; 12 -9 0; 4 31 0.9]

    A =

    1.0000 23.0000 8.0000

    12.0000 -9.0000 0

    4.0000 31.0000 0.9000

    >> B = det(A)

    B =

    3.0075e+03

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Exemplo de Aplicaes do Matlab 2.

    Usando operaes matriciais para resolver o seguinte sistema de equaes lineares.

    2x - 7y + 8z = 11

    3x + y 3z = 5

    -8x + 9y z = 0

    Utilizando as regras de lgebra linear mostradas anteriormente, o sistema de

    equaes acima pode ser rescrito na forma matricial Ax = B:

    2 7 83 1 38 9 1

    [] = [

    1150]

    >> A = [2 -7 8;3 1 -3;-8 9 -1]

    A =

    2 -7 8

    3 1 -3

    -8 9 -1

    >> B = [11;5;0]

    B =

    11

    5

    0

    >> xyz = A\B

    xyz =

    4.2727

    4.2448

    4.0210

    >> xyz = inv(A)*B

    xyz =

    4.2727

    4.2448

    4.0210

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    5.6 FUNES NATIVAS DO MATLAB COM VETORES

    Funo Descrio Exemplo

    mean(A) Se A um vetor, retorna o valor

    mdio dos elementos do vetor

    >> A = [1 4 3 8 5]

    A =

    1 4 3 8 5

    >> mean(A)

    ans =

    4.2000

    B = max(A)

    [d,n] = max(A)

    Se A um vetor, B receber o

    maior elemento de A. Se A

    uma matriz, B um vetor linha

    contento o maior elemento em

    cada coluna de A

    Se A um vetor, d recebe o

    maior elemento de A e n indica

    a posio desse elemento no

    vetor.

    >> A = [1 4 3 -11 9 8 51]

    A =

    1 4 3 -11 9 8

    51 >> B = max(A)

    B =

    51

    >> [d,n] = max(A)

    d =

    51

    n =

    7

    C = min(A)

    [d,n] = min(A)

    Semelhante funo max(A),

    mas retorna o menor elemento

    de A

    Semelhante a [d,n] = max(A)

    Para o menor elemento de A.

    >> A = [-11 4 0 8]

    A =

    -11 4 0 8

    >> B = min(A)

    B =

    -11

    >> [d,n] = min(A)

    d =

    -11

    n =

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    1

    sum(A) Se A um vetor, retorna a soma

    dos elementos do vetor

    >> A = [1 2 3 4];

    >> sum(A)

    ans = 10

    sort(A) Se A um vetor, ordena os

    elementos de A na ordem

    crescente

    >> A = [ 3 2 1 7 6]

    A =

    3 2 1 7 6

    >> sort(A)

    ans =

    1 2 3 6 7

    std(A) Se A um vetor, retorna o

    desvio padro dos elementos

    do vetor

    >> A = [1 -3 4 5 2 -7]

    A =

    1 -3 4 5 2 -7

    >> std(A)

    ans =

    4.5461

    dot(a,b) Determina o produto escalar de

    dois vetores a e b. Os vetores

    podem ser tanto linha quanto

    coluna

    >> a = [1 3 4]

    a =

    1 3 4>

    >> b = [5 8 1]

    b =

    5 8 1

    >> dot(a,b)

    ans =

    33

    cross(a,b) Determina o produto vetorial de

    dois vetores a e b (a x b). Os

    dois vetores devem possuir trs

    elementos.

    >> cross(a,b)

    ans =

    -29 19 -7

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Exemplo de Aplicao no MATLAB 3.

    Conforme mostra a figura, trs foras esto aplicadas em um suporte. Determine a

    fora total (ou resultante) aplicada ao suporte.

    30

    20

    143

    x

    y

    F2 = 500N

    F1 = 400N

    F3 = 700N

    Uma fora uma grande vetorial, ou seja, uma grandeza fsica que possui mdulo

    direo e sentido. No sistema de coordenadas cartesianas, um vetor bidimensional F

    pode ser escrito em suas componentes de acordo com:

    = + = F cos + F sin = F(cos + sin )

    Onde F o mdulo do vetor F; o ngulo medido relativamente ao eixo x, Fx e Fy

    so as componentes de F nas direes x e y, respectivamente; e i e j so os vetores

    unitrios nas direes x e y, respectivamente. Sendo conhecidas as componentes Fx

    e Fy, pode se determinar F e .

    = 2 + 2 tan =

    A fora resultante aplicada ao suporte obtida adicionando-as foras individuais que

    agem no sobre o suporte. A seguir, vejamos uma soluo do problema no MATLAB.

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Exemplo de Aplicao no MATLAB 4.

    O coeficiente de atrito cintico () pode ser determinado experimentalmente

    medindo-se o mdulo da fora necessria para mover uma massa m sobre uma

    superfcie com atrito. Quando F medido e sendo conhecidos os valores de m, o

    coeficiente de atrito cintico pode ser determinado por:

    = /( )

    >> F1 = 400;F2 = 500;F3 = 700;

    >> alfa1 = -20*pi/180;alfa2 = 30*pi/180;alfa3 = 37*pi/180;

    >> F1xy = F1*[cos(alfa1) sin(alfa1)]

    F1xy =

    375.8770 -136.8081

    >> F2xy = F2*[cos(alfa2) sin(alfa2)]

    F2xy =

    433.0127 250.0000

    >> F3xy = F3*[-cos(alfa3) sin(alfa3)]

    F3xy =

    -559.0449 421.2705

    >> Ftxy = [F1xy(1)+F2xy(1)+F3xy(1) F1xy(2)+F2xy(2)+F3xy(2)]

    Ftxy =

    249.8449 534.4625

    >> F_total = sqrt(Ftxy(1)^2+Ftxy(2)^2)

    F_total =

    589.9768

    >> angle_total = atan(Ftxy(2)/Ftxy(1))

    angle_total =

    1.1335

    >> angle_total_graus = angle_total*180/pi

    angle_total_graus =

    64.9453

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Um conjunto de seis medidas mostrado na tabela abaixo. Determine o coeficiente

    de atrito por medida e a respectiva mdia no experimento.

    m F

    atrito

    Medida 1 2 3 4 5 6

    Massa

    (kg)

    2 4 5 10 20 50

    Fora (N) 12.5 23.5 30 61 117 294

    >> Massa = [2 4 5 10 20 50]

    Massa =

    2 4 5 10 20 50

    >> Forca = [12.5 23.5 30 61 117 294]

    Forca =

    12.5000 23.5000 30.0000 61.0000 117.0000 294.0000

    >> g = 9.8

    g =

    9.8000

    >> mi = Forca./(Massa*g)

    mi =

    0.6378 0.5995 0.6122 0.6224 0.5969 0.6000

    >> mi_medio = mean(mi)

    mi_medio =

    0.6115

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    6.POLINMIOS

    O MATLAB traz uma srie de comando para a anlise polinomial, meios

    de avaliar os polinmios e como trabalhar o seu comportamento. Polinmios

    normalmente aparecem em aplicaes em Engenharia e na Cincia em geral porque

    eles constituem ainda bons modelos para representar sistemas fsicos.

    6.1 ANLISE POLINOMIAL

    Polinmios so representados no MATLAB, atravs de vetores, onde

    cada elemento do vetor corresponde a um dos coeficientes do polinmio. Com o

    exemplo tem-se o seguinte polinmio:

    () = 2 3 5.1 2 + 9

    Se x assumir valores escalares, pode-se escrever da seguinte forma no

    MATLAB:

    A funo pretty acima, tem o objetivo de organizar a funo deseja, sem

    interferir no seu valor.

    Se x for um vetor ou uma matriz deve-se escrever:

    >> fx = 2*x^3-5.1*x^2+x-9

    fx =

    2*x^3 - (51*x^2)/10 + x - 9

    >> pretty(fx)

    2

    3 51 x 2 x - ----- + x - 9 10

    >> fx = 2*x.^3-5.1*x.^2+x-9

    fx =

    2*x^3 - (51*x^2)/10 + x - 9

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    6.1.1 Comando Polyval

    O valor de um polinmio para um dado ponto x pode ser avaliado pelo

    funo polyval.

    Exemplo:

    () = 2 3 5.1 2 + 9

    () = 2 2 3 8

    6.1.2 Adio e Subtrao de Polinmios

    As operaes de adio e subtrao de polinmios de mesmo grau

    simples, basta operar os vetores correspondentes:

    >> a = [2 -5.1 1 -9]

    a =

    2.0000 -5.1000 1.0000 -9.0000

    >> f = polyval(a,[1 2 3])

    f =

    -11.1000 -11.4000 2.1000

    >> a =[2 -3 8]

    a =

    2 -3 8

    >> x = 0:0.5:2

    x =

    0 0.5000 1.0000 1.5000 2.0000

    >> gx = polyval(a,x)

    gx =

    8 7 7 8 10

    >> x =[1 8 2];

    >> y =[1 -1 5];

    >> z = x+y

    z =

    2 7 7

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Quando os polinmios diferem em grau necessrio completar os

    termos do que tem menor grau para operar os vetores com soma e subtrao:

    6.1.3 Multiplicao de Polinmios

    A multiplicao polinomial efetuada por meio do comando conv (que

    realiza a convoluo entre dois conjuntos). A multiplicao de mais de polinmios

    requer o uso repetido de conv.

    Exemplo:

    6.1.4 Diviso de Polinmios

    E de maneira similar a diviso feita com o comando deconv, que

    retorna duas sadas, o resultado e o resto da diviso.

    >> x =[1 8 2 8]

    x =

    1 8 2 8

    >> y = [0 y]

    y =

    0 1 -1 5

    >> z = y-x

    z =

    -1 -7 -3 -3

    >> a = [3 4 5]; %3x^2+4x+5

    >> b = [5 1 -7 9]; %5x^3+x^2-7x+0

    >> c = conv(a,b)

    c =

    15 23 8 4 1 45 %15x^5+23x^4+8x^3+4x^2+x+45

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    6.1.5 Razes do Polinmio

    Obter as razes de um polinmio, ou seja, os valores para os quais o

    polinmio igual a zero, um problema comum em muitas reas do conhecimento,

    como por exemplo, achar as razes de equaes que regem o desempenho de um

    sistema de controle de levitador magntico, ou ainda resposta de motor CC, e

    analisando a estabilidade de um filtro digital.

    Se a funo(x) for um polinmio de grau n, a mesma ter exatamente n

    razes. Estas n razes podem conter mltiplas razes ou razes complexas.

    No MATLAB, um polinmio representado por um vetor linha dos seus

    coeficientes em ordem decrescente. Observe que os termos com coeficiente zero

    tm de ser includos. Dada esta forma, as razes do polinmio so encontradas

    utilizando-se o comando roots do MATLAB. Exemplos:

    () = 4 + 3 + 2 2 3 + 5

    A recproca verdade, quando so dadas as razes de um polinmio

    possvel constru-lo. No MATLAB, o comando poly encarregado de executar essa

    >> [p,r] = deconv(b,a)

    p =

    -1.3333 -0.2222

    r =

    0 0 3.8889 -2.1111

    >> p = [-1 1 2 -3 5];

    >> r = roots(p)

    r =

    -1.8235 + 0.0000i

    1.9280 + 0.0000i

    0.4478 + 1.1053i

    0.4478 - 1.1053i

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    tarefa. Onde o argumento do comando o vetor contendo as razes do polinmio

    que deseja-se determinar. Exemplo

    () = 3 2 2 3 + 10

    As razes da funo acima so:

    2+i, 2-i e -2.

    Testes Determine as razes dos seguintes polinmios:

    a) () = 3 5 2 + 2 + 8

    b) () = 5 + 3 4 11 3 + 27 2 + 10 24

    6.1.6 Calculo

    Em alguns caso precisa-se utilizar uma varivel simblica, chamaremos

    de x, para definir como sendo qualquer varivel do domnio, ou seja, uma varivel

    contnua. Para isso temos o comando syms.

    >> r = [2+i 2-i -2]'

    r =

    2.0000 - 1.0000i

    2.0000 + 1.0000i

    -2.0000 + 0.0000i

    >> p = poly(r)

    p =

    1 -2 -3 10

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Comando Descrio Exemplo

    limit(f(x),x,a) Calcula o limite da funo

    f(x), onde tende para o

    termo a.

    >> syms x

    >> fx = 2*x^2+3*x-8

    fx =

    2*x^2 + 3*x 8

    >> a = 5

    a =

    5

    >> limit(fx,x,a)

    ans =

    57

    diff(f(x),x,n) Calcula a derivada da

    funo f(x), onde n indica

    a ordem da derivao

    >> fx = 2*x^2+3*x-8

    fx =

    2*x^2 + 3*x - 8

    >> diff(fx,x,2)

    ans =

    4

    int(f(x),x) Calcula integrais

    indefinidas

    >> fx = 2*x^2+3*x-8

    fx =

    2*x^2 + 3*x 8

    >> int(fx,x)

    ans =

    (x*(4*x^2 + 9*x - 48))/6

    >> pretty(ans)

    int(f(x),x,a,b) Calcula integrais definidas

    ()

    >> int(fx,x,0,pi)

    ans =

    pi*(pi*((2*pi)/3 + 3/2) - 8)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    7. GRFICOS

    A construo de grficos no MATLAB mais uma das facilidades do

    sistema. Atravs de comandos simples pode-se obter grficos bidimensionais ou

    tridimensionais com qualquer tipo de escala e coordenada.

    Alguns comandos frequentes para plotar grficos bidimensionais so:

    Comando Descrio

    plot Plotar linear

    loglog Grfico em escala logartmica

    semilogx Grfico em escala semi logartmica (eixo x)

    semilogy Grfico em escala semi logartmica (eixo y)

    fill Desenhar polgono 2D

    polar Grfico em coordenadas polares

    stem Grfico de sequncia discreta

    stairs Grfico em degrau

    bar Grficos de barras

    hist. Histograma

    rose Histograma em ngulo

    compass Grfico em forma de bssola

    feather Grfico em forma de pena

    fplot Grfico da funo

    comet Grfico com trajetria de cometa

    7.1 COMANDO - PLOT

    O comando plot o comando mais comum para plotagem de dados

    bidimensionais

    Exemplo:

    Se Y um vetor, plot (Y) produz um grfico linear dos elementos de Y versos o

    ndice dos elementos de Y. Por exemplo, para plotar os nmeros

    [0.0,0.48,0.84,1.0,0.91,0.6,0.14]:

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Exemplo: Plotar a funo x+1

    1 2 3 4 5 6 70

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    -5 -4 -3 -2 -1 0 1 2 3 4 50

    5

    10

    15

    20

    25

    30

    >> Y = [0.0 0.48 0.84 1.0 0.91 0.6 0.14]

    Y =

    0 0.4800 0.8400 1.0000 0.9100 0.6000 0.1400

    >> plot(Y)

    >> x =-5:0.5:5;

    >> y = x.^2+1;

    >> plot(x,y)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    possvel plotar mais que uma funo no mesmo grfico. Existem dois

    modos: um atravs do comando plot e outro atravs do comando hold.

    Por exemplo, plotar as funes sen(x), cos(x) e cos(3x), no mesmo

    grfico:

    Para acrescentar informaes ao grficos existem alguns comandos, na

    qual realiza essas tarefas a tabela abaixo, apresenta alguns desses comandos:

    Comando Descrio

    title(Nome_do_Titulo) Ttulo do grfico

    xlabel(xxxxx) Ttulo do eixo x

    0 2 4 6 8 10 12 14-1

    -0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    >> x = 0:pi/100:4*pi;

    >> a = sin(x);

    >> b = cos(x);

    >> c = cos(3*x);

    >> plot(x,a,x,b,x,c)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    axis[(xmin xmax ymin ymax)] Limita o grfico

    legend(-----) Inclui legenda no grfico

    text(x,y,texto desejado) Adiciona texto em algum lugar

    especfico do grfico

    gtext(texto desejado) Adiciona texto com a posio escolhida

    pelo mouse

    grid on Linhas de grade

    Alm de ttulos, legendas, designao dos eixos (title, legend,

    xlabel,ylabel), pode-se definir mais propriedades grficas, alterando: cores, estilos

    de linhas, estilos de marcadores.

    A cor e o estilo da linha e o tipo de marcador para pontos de dados na

    linha podem ser selecionado pelo uso de uma cadeia de caractere de atributos aps

    os vetores x e y da funo do plot.

    A tabela abaixo so apresentados principais como utilizar os comandos

    para cores, marcadores e estilos de linha.

    Cor Marcadores Estilo da Linha

    y Amarelo . Ponto - Slido

    m rosa

    (magenta)

    Crculo : Pontilhado

    c Azul (ciano) x X -. Ponto Trao

    r Vermelho + Mais -- Tracejado

    g Verde * Asterisco

    b Azul s Quadrado

    w Branco v Tringulo para baixo

    k Preto ^ Tringulo para cima

    p pentgono

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    O exemplo a seguir mostra um sinal sendo plotado, utilizando alguns comandos

    auxiliares.

    7.1.1 Comando Subplot

    possvel colocar mais de um conjunto de eixos em uma mesma figura,

    criando assim mltiplos diagramas. Os subdiagramas so criados pelo comando

    subplot(i,j,k), onde i representa o nmero de linhas e j o nmero de colunas e k

    indica a posio do grfico.

    0 5 10 15-0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    1Funo Seno Amortecida

    y(t

    )

    Tempo(s)

    >> t = 0:0.01:15;

    >> r = exp(-0.1*t).*sin(2*t);

    >> plot(t,r,'g.')

    >> title('Funo Seno Amortecida')

    >> ylabel('y(t)');

    >> xlabel('Tempo(s)');

    >>grid on;

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Plotar as funes sen(x) e cos(x), com x = -pi:pi/20:pi, na mesma janela

    mas em grficos separados, utilizando o comando subplot para dividir a janela em

    dois subgrficos.

    -4 -3 -2 -1 0 1 2 3 4-1

    -0.5

    0

    0.5

    1

    Grfico1

    -4 -3 -2 -1 0 1 2 3 4-1

    -0.5

    0

    0.5

    1

    Grfico2

    >> x = -pi:pi/20:pi;

    >> a = sin(x);

    >> b = cos(x);

    >> subplot(211)

    >> plot(x,a);

    >> title('Grfico_1');

    >> grid on;

    >> subplot(212)

    >> plot(x,b);

    >> title('Grfico_2');

    >> grid on;

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    7.2 COMANDO POLAR

    O MATLAB contm uma funo chama polar(theta,r) que destinada

    para plotar grficos nas coordenadas polares.

    Exemplo:

    Cardiide A Cardiide pode ser expressa atravs de coordenadas polares:

    = 2 (1 + cos)

    Utilizando o comando polar, grafique a Cardiide:

    1

    2

    3

    4

    30

    210

    60

    240

    90

    270

    120

    300

    150

    330

    180 0

    Cardioide em Coordenadas Polares

    >> theta = 0:pi/50:2*pi;

    >> r = 2*(1+cos(theta));

    >> polar(theta,r,'y+');

    >> title('Cardioide em Coordenadas Polares')

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    7.3 HISTOGRAMAS

    Um histograma um diagrama que mostra a distribuio de valores em

    um conjunto de dados. Para criar um histograma, a faixa de valores em um conjunto

    de dados dividida em grupos regularmente espaados, e o nmero de valores de

    dados que distribuem em cada grupo determinado. A contagem resultante pode

    ser representada em um diagrama como funo do nmero do grupo.

    Alguns das snteses para gerar histogramas so:

    hist(y), cria um histograma com 10 grupos igualmente espaados.

    hist(y,n), cria um histograma com n grupos igualmente espaados.

    Exemplo:

    -3 -2 -1 0 1 2 30

    5

    10

    15

    20

    25

    30Histograma

    >> y = randn(100,1);

    >> hist(y)

    >> title(Histograma)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    8. PROGRAMAO .M

    O modo mais fcil e prtico de utilizao do MATLAB atravs da janela

    Command Window. Mas, muitas vezes tentar resolver um determinado problema no

    MATLAB digitando muitos comandos consecutivos pode ser trabalhoso ou at

    mesmo impraticvel. Se forem necessrias modificaes ou correes em um

    determinado comando da srie executada e os resultados gerados por eles afetarem

    comandos em uma certa sequncia encadeada, toda a sequncia de comandos

    deve ser selecionada e executada novamente na linha do prompt da janela

    Command Window, ou seja, o comando da srie deve ser chamado e executado por

    vez.

    Uma forma diferente de executar comandos no MATLAB primeiro criar

    um arquivo com uma lista de comandos, salv-la e, ento rodar o arquivo. Quando o

    arquivo executado, a lista de comandos executada na ordem em que esto

    listadas no arquivo. Caso seja necessrias correes ou alteraes nesse arquivo,

    basta abri-lo, modificar os comandos ou a sequncia lgica de interesse, salv-lo e

    testar o novo arquivo. Os arquivos criados com esse propsito so denominados

    rotinas, m-files ou script files. Observa-se tambm que o smbolo (%) utilizado para

    inserir comentrios no cdigo de programao os quais no so executados pelo

    compilador.

    8.1 ALGORITMOS .M

    Quando uma rotina executada, as variveis usadas nos clculos dentro

    do arquivo devem ser inicializadas a fim de otimizar o tempo de execuo do

    algoritmo. Alm disso, algumas observaes devem ser levadas em conta quanto ao

    uso para elaborao do algoritmo:

    Rotina uma sequncia de comandos do MATLAB (tambm denomida

    programa);

    Quando uma rotina testada, o MATLAB executa os comandos na ordem

    em que eles foram escritos;

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    Quando uma rotina possui um comando que gera uma sada, a mesma

    exibida na janela Command Window;

    O uso de rotinas bastante conveniente, porque elas podem ser

    reeditadas e executadas muitas vezes;

    possvel digitar e/ou editar rotinas em qualquer editor de texto e, em

    seguida, col las no editor do MATLAB.

    As rotinas do MATLAB so denominas M-files, porque lhes so atribudas

    extenses .m serem salvas.

    Exemplos de programas .m:

    1) Calcula a mdia provas durante o semestre, pedindo ao usurio para que entre

    com as notas das provas. Para saber se o acadmico conseguiu xito na

    disciplina ou ter que fazer a prova de exame.

    % Esta rotina calcula a mdia das provas. % A nota das provas so atribudas as variveis nota por meio do comando

    input

    % Notas da Provas do Acadmico

    prova1 = input('Nota da Prova 1: '); prova2 = input('Nota da Prova 2: '); prova3 = input('Nota da Prova 3: ');

    %Mdia das Provas

    media_final = (prova1+prova2+prova3)/3

    if (media_final > 70) disp('Aprovado - Parabens'); else disp('Exame'); prova_exame = input('Nota do Exame: '); nota_final = (prova_exame + media_final)/2 if(nota_final > 50) disp('Aprovado - Exame'); else disp('Reprovado'); end end

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    2) Calcula o lanamento de um projtil.

    3) Divisor de Tenso Quando resistores so conectados para formar um circuito

    srie, a queda de tenso em cada um deles pode ser determinadas pela regra

    do divisor de tenso:

    =

    Onde Vn e Rn so queda de tenso sobre o resistor n e a resistncia desse

    resistor, respectivamente, Req a resistncia equivalente ou total e Vs a tenso

    da fonte. A potncia dissipada em cada resistor dada por:

    =2

    2

    A figura abaixo mostra, por exemplo, um circuito com sete resistores conectados

    em srie.

    Vs

    R1 R2 R3

    R4

    R5R6R7

    Para calcular a queda de tenso e a potncia dissipada em cada resistor de um

    circuito srie com sete resistores foi realizado um programa no MATLAB, onde

    % Este algoritmo calcula o alcance do lanamento do projetil % dados a velocidade inicial e o ngulo de lancamento.

    v = 1500; % Velocidade inicial em Km/h teta = 30; % ngulo (em graus) vms = v*1000/3600; % Velocidade inicial em m/s t = vms*sin(30*pi/180)/9.8; d = vms*cos(30*pi/180)*2*t/1000;

    fprintf('O projtil foi lanado a %2.2f graus, com velocidade inicial

    %4.2f Km/h \n e atingira o solo a uma distncia de %g km',teta,v,d)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    executando a rotina o usurio deve ser solicitado a digitar em um vetor o valor da

    fonte de tenso e a resistncia de cada resistor. O programa exibir uma tabela com

    as resistncias listadas na primeira coluna, a queda de tenso na segunda coluna e

    a potncia dissipada na terceira coluna. Aps a tabela, o programa deve exibir a

    corrente no circuito e a potncia total dissipada.

    Sugesto de valores do circuito:

    Vs = 24V, R1 = 20, R2 = 14, R3 = 12, R4 = 18, R5 = 8, R6 = 15, R7 = 10

    % Este programa calcula a queda de tenso em cada resistor em um

    circuito % em srie Vs = input('Tenso da fonte do circuito eltrico: '); for i=1:7 Resistores = input('Valores dos resistores como elementos de um

    vetor.\n '); Rn(1,i) = [Resistores]; end Req = sum(Rn);

    Vn = Rn*Vs/Req; Pn = Rn*Vs^2/Req^2;

    i = Vs/Req;

    Potencia_Total = Vs*i;

    Tabela = [Rn',Vn',Pn'];

    disp('') disp('Resistncia Tenso Potncia') disp('(Ohms) (Volts) (Watts)') disp('') disp(Tabela) disp('')

    fprintf('A corrente no circuito e %.3f Amps',i) fprintf('\n A potncia total dissipada no circuito e %.3f

    Watts',Potencia_Total)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    8.2 FUNO DISP E FPRINTF

    O comando disp mostra o valor das variveis, assim como se pode us

    lo para combinar frases com variveis alfanumricas. Para que isso acontea,

    interessante combinar o comando disp com o comando num2str que convertem

    valores numricos em valores alfanumricos. O comando num2str converte qualquer

    nmero (ou matriz) em uma cadeia de caractere, mantendo o formato dos

    elementos, j o comando int2srt converte primeiro os valores inteiros, para s ento

    transform-los em caracteres.

    O comando fprintf um dos mtodos mais simples de sada de dados.

    Com ele possvel combinar frases com variveis numricas de dimenso 1, ou

    seja, um escalar ou um elemento da matriz.

    Exemplo:

    Acima o que est entre aspas aparecer para o usurio, os itens onde

    aparecem %d sero substitudos pelas variveis, respeitando-se a ordem em que

    aparecem. Ainda, %d significa que s aparecer a parte inteira de x e y. Existem,

    ainda, os seguintes comandos:

    %d Exibe o valor como inteiro

    %e Exibe o valor no formato exponencial

    %f Exibe o valor em ponto flutuante

    %g Escolhe o mais curto entre ponto flutuante e exponencial

    Frase = [O valor de e^13 :num2srt(exp(13))];

    Disp(frase)

    x = 2;

    y = 5;

    fprintf(O x vale %d, enquanto y vale %d,X,Y)

  • Ministrio da Educao

    Universidade Tecnolgica Federal do Paran

    Engenharia Eltrica

    UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

    PR

    REFERNCIAS

    HANSELMAN,D;LITTLEFIELD,B;MATLAB Verso Estudante Guia do Usurio Verso 4. MAKRON Books do Brasil. So Paulo,1997.

    Noes Bsicas de Utilizao e Programao em Matlab, Curso de Matemtica, Programa de Educao Tutorial, Universidade Federal de Santa Maria, 2008

    Frederico Ferreira Campos Filho, Apostila de Matlab. Departamento de Cincia da Computao, ICEX, UFMG.

    PET ENGENHARIA ELTRICA UFSM;Introduo ao MATLAB. Santa Maria, 2007. Disponvel em :http://www.ufsm.br/petee/