Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Manipulação de Vetores e Matrizes no MATLAB, Notas de estudo de Eletrônica

Este documento fornece informações sobre a manipulação de matrizes e vetores no matlab, incluindo a criação de submatrizes, operações com matrizes e a geração de vetores usando diferentes métodos. Além disso, é apresentado exemplos de como resolver sistemas lineares e utilizar funções no matlab.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 31/05/2010

felype-nery-3
felype-nery-3 🇧🇷

5

(1)

8 documentos

1 / 47

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
APOSTILA DE MATLAB
Adaptado por Valdir Noll
Autor:
Universidade Federal de Mato Grosso do Sul
Departamento de Engenharia Elétrica
Grupo PET Engenharia Elétrica
APRESENTAÇÃO
O que é o MATLAB?
MATLAB é um "software" interativo de alta performance voltado para o cálculo numérico.
O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e
construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos
somente como eles são escritos matematicamente, ao contrário da programação tradicional.
O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que
não requer dimensionamento. Esse sistema permite a resolução de muitos problemas
numéricos em apenas uma fração do tempo que se gastaria para escrever um programa
semelhante em linguagem Fortran, Basic ou C. Além disso, as soluções dos problemas são
expressas no MATLAB quase exatamente como elas são escritas matematicamente.
Carregando o MATLAB
No Gerenciador de Programas do Microsoft Windows deve-se abrir o grupo de programas
do MATLAB for Windows, que contém o ícone do aplicativo MATLAB. Um duplo clique
no ícone MATLAB carrega o aplicativo MATLAB.
Quando o MATLAB é carregado, duas janelas são exibidas: a Janela de Comando
(Command Windows) e Janela Gráfica (Graphic Windows). A Janela de Comando é
ativada quando se inicializa o MATLAB, e o "prompt" padrão (>>) é exibido na tela.
A partir desse ponto, o MATLAB espera as instruções do usuário. Para entrar com uma
matriz pequena, por exemplo usa-se
>> A = [1 2 3; 4 5 6; 7 8 9]
colocando colchetes em volta dos dados e separando as linhas por ponto e vírgula.. Quando
se pressiona a tecla <enter> o MATLAB responde com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f

Pré-visualização parcial do texto

Baixe Manipulação de Vetores e Matrizes no MATLAB e outras Notas de estudo em PDF para Eletrônica, somente na Docsity!

APOSTILA DE MATLAB

Adaptado por Valdir Noll

Autor:

Universidade Federal de Mato Grosso do Sul

Departamento de Engenharia Elétrica

Grupo PET Engenharia Elétrica

APRESENTAÇÃO

O que é o MATLAB?

MATLAB é um "software" interativo de alta performance voltado para o cálculo numérico.

O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e

construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos

somente como eles são escritos matematicamente, ao contrário da programação tradicional.

O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que

não requer dimensionamento. Esse sistema permite a resolução de muitos problemas

numéricos em apenas uma fração do tempo que se gastaria para escrever um programa

semelhante em linguagem Fortran, Basic ou C. Além disso, as soluções dos problemas são

expressas no MATLAB quase exatamente como elas são escritas matematicamente.

Carregando o MATLAB

No Gerenciador de Programas do Microsoft Windows deve-se abrir o grupo de programas

do MATLAB for Windows, que contém o ícone do aplicativo MATLAB. Um duplo clique

no ícone MATLAB carrega o aplicativo MATLAB.

Quando o MATLAB é carregado, duas janelas são exibidas: a Janela de Comando

(Command Windows) e Janela Gráfica (Graphic Windows). A Janela de Comando é

ativada quando se inicializa o MATLAB, e o "prompt" padrão (>>) é exibido na tela.

A partir desse ponto, o MATLAB espera as instruções do usuário. Para entrar com uma

matriz pequena, por exemplo usa-se

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

colocando colchetes em volta dos dados e separando as linhas por ponto e vírgula.. Quando

se pressiona a tecla o MATLAB responde com

A =

Para inverter esta matriz usa-se

>> B = inv(A)

e o MATLAB responde com o resultado.

Editor de Linhas de Comando

As teclas com setas podem ser usadas para se encontrar comandos dados anteriormente,

para execução novamente ou sua reedição. Por exemplo, suponha que você entre com

>> log (sqt(tan(pi/5)))

Como para calcular a raiz quadrada o comando certo é sqrt , o MATLAB responde com

uma mensagem de erro:

??? Undefined funcion or variable sqt.

Ao invés de reescrever a linha inteira, simplesmente pressione a tecla "seta para cima". O

comando errado retorna, e você pode, então, mover o cursor para trás usando a tecla "seta

para esquerda" ou o ponto de inserção com o "mouse" ao lugar apropriado para inserir a

letra " r ". Então, o comando retorna a resposta apropriada:

>> log (sqrt(tan(pi/5)))

ans = -0.

Além das teclas com setas, pode-se usar outras teclas para reeditar a linha de comando. A

seguir é dada uma breve descrição destas teclas:

retorna a linha anterior retorna a linha posterior move um espaço para a esquerda move um espaço para a direita

A matriz A é salva na memória RAM do computador, ficando armazenada para uso

posterior.

As matrizes podem, também, ser introduzidas linha a linha, o que é indicado para matrizes

de grande dimensão. Por exemplo:

>>A = [1 2 3

>> 7 8 9]

Outra maneira para entrar com matrizes no MATLAB é através de um arquivo no formato

texto com extensão " .m ". Por exemplo, se um arquivo chamado " gera.m " contém estas três

linhas de texto,

A= [1 2 3

7 8 9]

então a expressão " gera " lê o arquivo e introduz a matriz A.

>>gera

O comando load pode ler matrizes geradas pelo MATLAB e armazenadas em arquivos

binários ou matrizes geradas por outros programas armazenadas em arquivos ASCII.

1.2 Elementos das Matrizes

Os elementos das matrizes podem ser qualquer expressão do MATLAB, por exemplo.

>> x = [-1.3 sqrt(2) ((1+2+3)*4/5)^2]

resulta em

x =

-l.3000 1.4142 23.

Um elemento individual da matriz pode ser reverenciado com índice entre parênteses.

Continuando o exemplo,

>> x(6) = abs(x(l))

produz:

x =

-1.3000 1.4142 23.0400^0 0 1.

Note que a dimensão do vetor x é aumentada automaticamente para acomodar o novo

elemento e que os elementos do intervalo indefinido são estabelecidos como zero.

Grandes matrizes podem ser construídas a partir de pequenas matrizes. Por exemplo, pode-

se anexar outra linha na matriz A usando

>> r= [ l0 11 12];

>> A= [A;r]

que resulta em

A =

Note que o vetor r não foi listado porque ao seu final foi acrescentado ";".

Pequenas, matrizes podem ser extraídas de grandes matrizes usando ";". Por exemplo,

>> A = A(1:3,:);

seleciona as três primeiras linhas e todas as colunas da matriz A atual, modificando-a para

sua forma original.

1.3 Declarações e Variáveis

O MATLAB é uma linguagem de expressões. As expressões usadas são interpretadas e

avaliadas pelo sistema. As declarações no MATLAB são freqüentemente da forma

>> variável = expressão

ou simplesmente

>> expressão

As expressões são compostas de operadores e outros caracteres especiais, de funções e dos

nomes das variáveis. A avaliação das expressões produzem matrizes, que são então

mostradas na tela e atribuídas às variáveis para uso futuro. Se o nome da variável e o sinal

de igualdade " = " são omitidos, a variável com o nome ans , que representa a palavra

"answer" (resposta), é automaticamente criada. Por exemplo, digite a expressão

que produz

ans=

Se o último caractere da declaração é um ponto e vírgula, ";", a impressão na tela é

suprimida, mas a tarefa é realizada. Esse procedimento é usado em arquivos com extensão

s 1 by 1^1 8 Full^ No

x 1 by 6^6 48 Full^ No

Grand total is 20 elements using 160 bytes

Cada elemento de uma matriz real requer 8 bytes de memória, assim nossa matriz A de

dimensão 3x3 usa 72 bytes e todas variáveis utilizadas um total de 160 bytes.

1.5 Números e Expressões Aritméticas

A notação decimal convencional, com ponto decimal opcional e o sinal de menos, é usada

para números. A potência de dez pode ser incluída como um sufixo. A seguir são mostrados

alguns exemplos de números aceitos:

9.637458638 1.602E-20 6.06375e

As expressões podem ser construídas usando os operadores aritméticos usuais e as regras

de precedência:

1 ^ exponenciação 2 / divisão a direita 2 \ divisão a esquerda 3 * multiplicação 4 + adição 4 - subtração

Deve-se notar que existem dois símbolos para divisão: as expressões 1/4 e 4\1 possuem o

mesmo valor numérico, isto é, 0,25. Parênteses são usados em sua forma padrão para alterar

o mesmo a precedência usual dos operadores aritméticos.

1.6 Números e Matrizes Complexas

Números complexos são permitidos em todas operações e funções no MATLAB. Os

números complexos são introduzidos usando-se as funções especiais i e j. Por exemplo

>> z= 3 + 4*i

ou

>> z= 3 +4*j

Outro exemplo é

>> w= r * exp(i*theta)

As seguintes declarações mostram dois caminhos convenientes para se introduzir matrizes

complexas no MATLAB:

>> A= [1 2; 3 4]+i*[5 6;7 8]

e

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

que produzem o mesmo resultado.

Se i ou j forem usados como variáveis, de forma que tenham seus valores originais

modificados, uma nova unidade complexa deverá ser criada e utilizada de maneira usual:

>> ii = sqrt(-1);

>> z = 3 + 4*ii

1.7 Formato de Saída

O formato numérico exibido na tela pode ser modificado utilizando-se o comando format ,

que afeta somente o modo como as matrizes são mostradas, e não como elas são

computadas ou salvas (o MATLAB efetua todas operações em dupla precisão).

Se todos os elementos das matrizes são inteiros exatos, a matrizes é mostrada em um

formato sem qualquer ponto decimal. Por exemplo,

>> x = [-1 0 1]

sempre resulta em

x = -1 0 1

Se pelo menos um dos elementos da matriz não é inteiro exato, existem várias

possibilidades de formatar a saída. O formato "default", chamado de formato short , mostra

aproximadamente 5 dígitos significativos ou usam notação científica. Por exemplo a

expressão

>> x = [4/3 1.2345e-6]

é mostrada , para cada formato usado, da seguinte maneira:

format short 1.3333 0.

matlab\specmat -Specialized matrices. matlab\elfun -Elementary math functions. matlab\specfun -Specialized math functions. matlab\matfun -Matrix functions - numerical linear algebra. matlab\datafun -Data analysis and Fourier transform functions. matlab\polyfun -Polynomial and interpolation functions. matlab\funfun -Function functions: nonlinear numerical methods. matlab\sparfun -Sparse matrix functions. matlab\plotxy -Two dimensional graphics. matlab\piotxyz -Three dimensional graphics. matlab\graphics -General purpose graphics functions. matlab\color -Color control and lighting model functions. matlab\sounds -Sound processing functions. matlab\strfun -Character string functions. matlab\iofun -Low-level file I/0 functions. matlab\demos -Demonstrations and samples. simulink\simulink -SIMULINK model analysis. simulink\blocks -SIMULINK block library. simulink\simdemos -SIMULINK demonstrations and samples. nnet\exampies - Neural Network Toolbox examples. nnet\nnet - Neural Network Toolbox.

For more help on directory/topic, type 'help topic".

Para obter informações sobre um tópico específico, digite help tópico. Por exemplo,

>> help plotxy

que fornece uma lista de todos os comandos relacionados com gráficos bidimensionais:

Two dimensional graphics.

Elementary X-Y graphs plot - Linear plot. loglog - Log-log scafe plot. semilogx - Semi-log scale plot. semilogy - Semi-log scale plot. fill - Draw filled 2-D polygons. Specialized X-Y graphs. polar - Polar coordinate plot. bar - Bar graph. stem - Discrete sequence or & "stemm" plot. stairs - Stairstep plot. errorbar - Error bar plot. hist - Histogram plot. rose - Angle histogram plot. compass - Compass plot. feather - Feather plot. fplot - Plot function comet - Comet-like trajectory. Graph annotation. title - Graph title. xlabel - X-axis label. ylabel - Y-axis label. text - Text annotation. gtext - Mouse placement of text. grid - Grid lines. See also PLOTXYZ, GRAPHICS

Finalmente, para obter informações sobre um comando específico, por exemplo title ,

digite:

>> help title

e informações mais detalhadas sobre este comando serão exibidas:

TITLE Titles for 2-D and 3-D plots. TITLE (‘text’) adds text at the top of the current axis. See also XLABEL, YLABEL, ZLABEL, TEXT.

Note que no exemplo mostrado para adicionar o título em um gráfico, TITLE (‘TEXT’)

está escrito em letras maiúsculas somente para destacar. Deve-se lembrar que todos os

comandos do MATLAB devem ser escritas em letras minúsculas, portanto, para adicionar o

texto "Título do Gráfico" em um gráfico, digite:

>> title (‘Título do Gráfico’)

1.9 Funções

B = 1 4 7

e

>> x = [-1 O 2]'

produz

x =

0 2

Se Z é uma matriz complexa, Z’ será o conjugado complexo composto. Para obter

simplesmente a transposta de Z deve-se usar Z.’ , como mostra o exemplo

>> Z = [1 2; 3 4] + [5 6; 7 8]*i

>> Z1 = Z’

>> Z2 = Z.’

que resulta em

Z =

1.0000 + 5.0000i 2.0000 + 6.0000i 6.0000 + 7.0000i 4.0000 + 8.0000i Z1 = 1.0000 - 5.0000i 3.0000 - 7.0000i 2.0000 - 6.0000i 4.0000 - 8.0000i Z2 = 1.0000 + 5.0000i 3.0000 + 7.0000i 2.0000 + 6.0000i 4.0000 + 8.0000i

2.2 Adição e Subtração

A adição e subtração de matrizes são indicadas, respectivamente, por "+" e "-". As

operações são definidas somente se as matrizes as mesmas dimensões. Por exemplo, a soma

com as matrizes mostradas acima, A + x , não é correta porque A é 3x3 e x é 3x1. Porém,

>> C = A + B

é aceitável, e o resultado da soma é

C =

A adição e subtração também são definidas se um dos operadores é um escalar, ou seja,

uma matriz l x l. Neste caso, o escalar é adicionado ou subtraído de todos os elementos do

outro operador. Por exemplo:

>> y = x - 1

resulta em

y =

1

2.3 Multiplicação

A multiplicação de matrizes é indicada por "". A multiplicação xy é definida somente se

a segunda dimensão de x for igual à primeira dimensão de y. A multiplicação

>> x'* y

é aceitável, e resulta em

ans = 4

É evidente que o resultado da multiplicação y'*x será o mesmo. Existem dois outros

produtos que são transpostos um do outro.

>> x*y’

ans = 2 l -l 0 0 0 -4 -2 2

>> y*x’

ans = 2 0 - 1 0 - -1 0 2

O produto de uma matriz por um vetor é um caso especial do produto entre matrizes. Por

exemplo A e X,

>> b = A'x

que resulta em

3 OPERAÇÕES COM CONJUNTOS

O termo operações com conjuntos é usado quando as operações aritméticas são realizadas

entre os elementos que ocupam as mesmas posições em cada matriz (elemento por

elemento). As operações com conjuntos são feitas como as operações usuais, utilizando-se

dos mesmos caracteres (" * ", " / ", " \ ", "^" e " ‘ ") precedidos por um ponto ". " (" .* ", " ./ ", " .\ ",

". ^ " e " .‘ ").

3.1 Adição e Subtração

Para a adição e a subtração, a operação com conjuntos e as operações com matrizes são as

mesmas. Deste modo os caracteres "+" e "-" podem ser utilizados tanto para operações com

matrizes como para operações com conjuntos.

3.2 Multiplicação e Divisão

A multiplicação de conjuntos é indicada por " .* ". Se A e B são matrizes com as mesmas

dimensões, então A.*B indica um conjunto cujos elementos são simplesmente o produto

dos elementos individuais de A e B. Por exemplo, se

>> x = [1 2 3]; y = [4 5 6];

então,

>> z = x .* y

resulta em

z= 4 10 18

As expressões A./B e A.\B formam um conjunto cujos elementos são simplesmente os

quocientes dos elementos individuais de A e B. Assim,

>> z = x .\ y

resulta em

z = 4.0000 2.5000 2.

3.3 Exponenciação

A exponenciação de conjuntos é indicada por ". ^". A seguir são mostrados alguns exemplos

usando os vetores x e y. A expressão

>> z = x .^ y

resulta em

z = l 32 729

A exponenciação pode usar um escalar.

>> z = x..^

z = l 4 9

Ou, a base pode ser um escalar.

>> z = 2.^[x y]

z = 2 4 8 16 32 64

3.4 Operações Comparativas

Estes são os seis operadores usados para comparação de duas matrizes com as mesmas

dimensões:

< menor

<= menor ou igual

> maior

>= maior ou igual

== igual

~= diferente

A comparação é feita entre os pares de elementos correspondentes e o resultado é uma

matriz composta dos números um e zero, com um representando VERDADEIRO e zero,

FALSO. Por exemplo ,

ans = 0

4.2 Elementos das Matrizes

Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre

parênteses. Por exemplo, dada a matriz A:

A =

a declaração

>> A(3,3) = A(1,3) + A(3,l)

resulta em

A =

Um subscrito pode ser um vetor. Se X e V são vetores, então X(V) é [X(V(1)), X(V(2)), ....

X(V(n))]. Para as matrizes, os subscritos vetores permitem o acesso à submatrizes

contínuas e descontínuas. Por exemplo, suponha que A é uma matriz 10x10.

A =

então

>> A(1:5,3)

ans = 11 17

especifica uma submatriz 5x1, ou vetor coluna, que consiste dos cinco primeiros elementos

da terceira coluna da matriz A. Analogamente,

>> A(1:5,7:10)

ans = 74 51 58 40 55 57 64 41 56 63 70 47 62 69 71 28 68 75 52 34

é uma submatriz 5x4, consiste das primeiras cinco linhas e as últimas quatro colunas.

Utilizando os dois pontos no lugar de um subscrito denota-se todos elementos da linha ou

coluna. Por exemplo,

>> A(1:2:5,:)

ans = 92 99 11 18 15 67 74 51 58 40 14 81 88 2 22 54 56 63 70 47 86 93 25 12 19 61 68 75 52 34

é uma submatriz 3x10 que consiste da primeira, terceira e quinta linhas e todas colunas da

matriz A.

Muitos efeitos sofisticados são obtidos usando submatrizes em ambos os lados das

declarações. Por exemplo, sendo B uma matriz 10x10 unitária,

>> B = ones (10)

B =

a declaração,