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


Funções e Comandos no MATLAB para Gerar Matrizes e Gráficos, Notas de estudo de Engenharia de Telecomunicações

Como gerar matrizes e realizar operações matriciais utilizando funções e comandos do matlab, incluindo a geração de matrizes complexas, funções transcendentais, funções lógicas e relacionais, funções trigonométricas, e funções para análise de dados. Além disso, é apresentado como plotar gráficos e histogramas utilizando diferentes funções do matlab.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 03/12/2009

wanessa-tarao-mendes-1
wanessa-tarao-mendes-1 🇧🇷

4.9

(7)

12 documentos

1 / 47

Toggle sidebar

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

Não perca as partes importantes!

bg1
LCEE
Laboratório de Computação da Engenharia Elétrica - UFES
MANUAL DO MATLAB
Curso de MATLAB
Projeto REENGE - DEL
Elaboração/ Redação: Leonardo Pereira Bastos
Revisão: Prof. Celso Munaro
Data: março de 1997
Esta apostila foi elaborada dentro do projeto REENGE/DEL, cujo objetivo é melhorar as condições de ensino do curso
de Engenharia Elétrica via suporte computacional adequado.
Índice:
PARTE I:
1. Informações Iniciais
1..1 Instalação
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 Funções e Comandos no MATLAB para Gerar Matrizes e Gráficos e outras Notas de estudo em PDF para Engenharia de Telecomunicações, somente na Docsity!

LCEE

Laboratório de Computação da Engenharia Elétrica - UFES

MANUAL DO MATLAB

Curso de MATLAB

Projeto REENGE - DEL

Elaboração/ Redação: Leonardo Pereira Bastos

Revisão: Prof. Celso Munaro

Data: março de 1997

Esta apostila foi elaborada dentro do projeto REENGE/DEL, cujo objetivo é melhorar as condições de ensino do curso

de Engenharia Elétrica via suporte computacional adequado.

Índice:

PARTE I:

  1. Informações Iniciais

1..1 Instalação

1..2 Diretório

  1. Iniciando

2..1 Linha de Comando

2..2 Matrizes Simples

2..3 Elementos da Matriz

2..4 Linhas de Comando e Variáveis do MATLAB

2..5 Obtendo Informações do Espaço de Trabalho

2..6 O Comando Help

2..7 Finalizando e Salvando o Espaço de Trabalho

2..8 Números e Expressões Aritméticas

2..9 Números Complexos e Matrizes

2..10 Formatos de Saída

2..11 Funções

  1. Operações com Matrizes
  2. Operações com Vetores

4..1 Operações Relacionais

4..2 Operações Lógicas

4..3 Funções Matemáticas

  1. Manipulação de Vetores e Matrizes

5..1 Gerando Vetores

5..2 Matrizes Especiais

5..3 Manipulação de Matrizes

  1. Introdução aos Gráficos

6..1 Funções Elementares de Plotagem

6..2 Criando um Gráfico

6..3 Estilos de Linha, Marcadores e Cor

6..4 Adicionando Linhas a um Gráfico Existente

6..5 Dados Imaginários e Complexos

6..6 Plotando Matrizes

6..7 Copiando Gráficos

PARTE II: Informações Avançadas

1..3 Análise de Dados

1..4 Funções de Matriz Fatoração Triangular Fatoração Ortogonal Decomposição dos Autovalores

1..5 Polinômios e Processamento de Sinais Representação Polinomial Processamento de Sinais

1..12..3 Funções Gráficas de Propósito Geral

1..12..3..1 Ponto de Vista

1..12..3..2 Controlando os Eixos com a função axis

1..12..3..3 Tornando Visível Linhas e Superfícies Escondidas

1..12..3..4 Subgráficos

1..12..3..5 Figura

1..12..4 Mapas de Cores e Controle de Cores

1..12..4..1 Mostrando Mapas de Cores

1..12..4..2 Alterando os Mapas de Cores

1..12..5 Manuseamento de Gráficos

1..12..5..1 Objetos Gráficos

1..12..5..2 Handle de Objetos

1..12..5..3 Funções de Criação de Objetos

1..12..5..4 Propriedades dos Objetos

1..12..5..5 Especificando e Alterando as Propriedades dos Objetos

1..12..5..6 Utilizando as Funções set e get 82

PARTE I

Informações Básicas

Esta primeira parte traz os capítulos de 1 a 6, e contém as informações necessárias para se começar a trabalhar com MATLAB.

Após esta parte o leitor deve estar apto a declarar variáveis no prompt, seja do tipo vetor ou matriz, realizar operações com estas variáveis, utilizar o comando Help e plotar gráficos.

Capítulo 2

Iniciando

Neste capítulo é apresentado o espaço de trabalho do MATLAB. É mostrado como se lidar com matrizes e como utilizar o comando Help para obter informações de utilização das funções.

2.1 Linha de Comando Para editar comandos digitados erroneamente ou para chamar linhas de comandos anteriores, pode-se fazer uso das setas. Por exemplo, se foi digitado errado a função sqrt no comando

>> log(sqt(atan(2*(3+4))))

MATLAB responde com uma mensagem de erro do tipo

??? Undefined function or variable sqt.

Ao invés de se digitar a linha de comando novamente, tecla-se. O último comando que foi entrado é mostrado. Pode-se teclar para mover o cursor e inserir o r.

Os comandos que MATLAB executou durante uma sessão são armazenados até um certo limite. Pode ser utilizada uma chamada rápida ao invés da digitação dos comandos previamente digitados, através da especificação dos primeiros caracteres seguidos pela tecla. No exemplo abaixo, as letras plo são usadas para encontrar uma linha de comando que inicie com o comando plot executado anteriormente

>> plo

A tabela abaixo lista as teclas que podem ser usadas para edição na linha de comandos: Ctrl-P Chama uma linha de comando anterior. Ctrl-N Chama uma linha de comando posterior. Ctrl-B Move o cursor um caractere à esquerda. Ctrl-F Move o cursor um caractere à direita. Delete Move o cursor à esquerda, apagando um caractere. Ctrl-L Move o cursor uma palavra à esquerda. Ctrl-R Move o cursor uma palavra à direita. Ctrl-A Move o cursor para o começo da linha. Ctrl-E Move o cursor para o final da linha. Ctrl-U Cancela a linha. Ctrl-D Apaga o caractere que está sobre o cursor. Ctrl-K Apaga até o final da linha.

2.2 Matrizes Simples MATLAB trabalha essencialmente com um tipo de objeto, uma matriz retangular numérica (real ou complexa). Em algumas situações, denominações específicas são atribuídas a matrizes 1 por 1, que são os escalares, e a matrizes com somente uma linha ou coluna, que são os vetores. Operações e comandos no MATLAB são aplicados de maneira natural, utilizando o conceito de matriz, como são indicados no papel.

Pode-se entrar com matrizes no MATLAB de diversas maneiras:

  • Entrar com uma lista explícita de elementos.
  • Gerar matrizes utilizando funções e linhas de comando do MATLAB.
  • Criar matrizes em arquivos-M.
  • Chamar matrizes de um arquivo de dados externo.

A maneira mais fácil de se declarar matrizes é fazendo a explicitação da lista de elementos na linha de comando, seguindo as convenções abaixo:

  • Separar os elementos da lista de elementos através de espaços ou vírgulas.
  • Colocar os elementos entre colchetes, [ ].
  • Usar (;) ponto-e-vírgula para indicar o fim de uma linha.

Por exemplo, entrando com a linha de comando

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

resulta em

>> A =

MATLAB salva a matriz A para que possa ser utilizada posteriormente. Pode-se, também, entrar matrizes de arquivos de extensão .m. Se um arquivo com o nome de matriz.m contém as três linhas de texto

A = [ 1 2 3

7 8 9 ]

então o comando

>> matriz

atribui à matriz A os dados correspondentes.

2.3 Elementos da Matriz

Elementos de matriz podem ser quaisquer expressões que o MATLAB permite; por exemplo

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

resulta em

>> x =

Elementos individuais de matrizes podem ser referenciados individualmente com índices dentro de parênteses, ( ). Continuando o exemplo anterior

>> x(5) = abs(x(1))

>> x =

Perceba que o tamanho de x aumenta automaticamente para acomodar o novo elemento, e os elementos indefinidos são assumidos como sendo zero.

Pode-se construir grandes matrizes utilizando matrizes menores como elementos. Por exemplo, para acrescentar uma nova linha à matriz A:

>> r = [10 11 12];

>> A = [A; r]

Isto resulta em

>> A =

Matrizes menores podem ser extraídas de matrizes grandes utilizando os dois pontos (:). Por exemplo

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

que fornece a seguinte matriz

>> A =

2.7 Finalizando e Salvando o Espaço de Trabalho

Para finalizar o MATLAB digite quit ou exit. Terminando uma sessão do MATLAB, você apaga as variáveis do espaço de trabalho. Antes de terminar, pode-se salvar as variáveis digitando

>> save

Este comando salva todas as variáveis em um arquivo em disco chamado matlab.mat. Na próxima vez que MATLAB é chamado, pode-se executar o comando load para restaurar o espaço de trabalho com as variáveis de matlab.mat.

Podem ser utilizados os comandos save e load em arquivos com outros nomes, ou salvar somente algumas variáveis. O comando save temp salva as variáveis em um arquivo de nome temp.mat. O comando

>> save temp X

salva somente a variável X, enquanto que

>> save temp X Y Z

salva as variáveis X, Y e Z.

2.8 Números e Expressões Aritméticas MATLAB utiliza a notação decimal convencional, com ponto decimal e sinal negativo opcionais, para números. Pode-se incluir um fator de escala em potência de dez ou uma indicação de número complexo como sufixo. Alguns exemplos de números válidos são

3 -99 0.0001 9.6397238 1.60210E-20 6.02252e23 2i -3.141159i 3e5i

Podem ser construídas expressões com os operadores de aritmética usuais e as regras de precedência:

  • adição
  • subtração
  • multiplicação / divisão por número à direita \ divisão por número à esquerda ^ potência MATLAB possui também funções matemáticas elementares encontradas em calculadoras científicas. Estas funções incluem abs, sqrt, log e sin. Você pode facilmente adicionar mais funções através dos arquivos-M. Algumas funções simplesmente retornam valores especiais comumente utilizados, como a função pi que retorna o valor da constante. A função Inf indica resultado infinito; uma divisão por zero gera como resposta Inf. A variável NaN (Not a Number) possui diferentes propriedades com relação à variável Inf. Uma divisão 0/0 ou Inf/Inf produz NaN como resposta.

2.9 Números Complexos e Matrizes MATLAB permite números complexos, indicados pela função especial i ou j, em todas as operações ou funções. Assim, temos:

z = 3 + 4i Uma outra forma é w = rexp(itheta) Quando forem entrados números complexos como elementos de matriz com os colchetes, deve ser evitado qualquer espaço em branco. Uma expressão como 1 + 5i, com espaços em volta do sinal +, representa dois números. Isto também é válido para números reais; uma espaço antes do exponencial, como em 1.23 e-4, causa um erro.

O nome de uma função do MATLAB também pode ser usada como o nome de uma variável. Quando utilizado como uma variável, a função original se torna indisponível no espaço de trabalho até que a variável seja apagada.

2.10 Formatos de Saída

MATLAB mostra o resultado de uma linha de comando na tela, e atribui este resultado a uma variável específica, ou a ans se a variável não é dada. Você pode utilizar o comando format para controlar o formato numérico mostrado.

Se todos os elementos de uma matriz forem inteiros exatos, a matriz é mostrada em um formato sem pontos decimais. Se ao menos um elemento de uma matriz não é um inteiro exato, vários formatos de saída são possíveis. O formato padrão, chamado de short format , mostra aproximadamente cinco dígitos decimais significativos. Os outros formatos mostram mais dígitos significativos ou utilizam notação decimal. Como um exemplo, suponha

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

Os formatos e as saídas resultantes para este vetor são:

format short 1.3333 0.

format short e 1.3333e+00 1.2345e- format long 1.33333333333333 0.

format long e 1.333333333333333e+00 1.234500000000000e- format bank 1.33 0. O comando help format mostra mais alguns tipos possíveis de formato.

2.11 Funções Grande parte do poder do MATLAB á atribuído ao extensivo conjunto de funções. Algumas das funções são intrínsecas ao MATLAB. Outras funções estão disponíveis na biblioteca de arquivos-M distribuídos com MATLAB (a toolbox do MATLAB). Ainda existem outras que são adicionadas por usuários individuais ou grupos de usuários, para aplicações mais especializadas. Esta é uma importante característica do MATLAB; todo usuário pode criar funções que atuam da mesma forma que uma função intrínseca do MATLAB.

Capítulo 4

Operações com Vetores

Neste capítulo são mostradas as operações lógicas e relacionais e as funções matemáticas para vetores. O termo operações vetoriais refere-se a operações aritméticas de elemento-por-elemento, ao invés das operações algébricas lineares usuais de matrizes denotadas pelos símbolos * \ / ^ e ‘. Um ponto (.) precedendo um operador indica uma operação de elemento-por-elemento.

Para adição e subtração, operações vetoriais e operações matriciais são idênticas. O símbolo .* significa multiplicação de elemento-por-elemento. Se A e B possuem a mesma dimensão, então A.*B resulta em uma matriz cujo os elementos são simplesmente os produtos dos elementos individuais de A e B.

A potência de elemento-por-elemento é simbolizada por .^, e faz com que cada elemento de uma matriz seja elevado ao elemento correspondente da outra matriz.

4.1 Operações Relacionais Seis operadores relacionais estão disponíveis para a comparação de duas matrizes de dimensões idênticas. < menor que <= menor ou igual que

maior que = maior ou igual que == igual ~= diferente MATLAB compara os elementos correspondentes de cada matriz.; o resultado é uma matriz de 1s e 0s, com 1 representando verdadeiro e 0 representando falso.

4.2 Operações Lógicas

Os operadores &, | e ~ correspondem aos operadores lógicos “e”, “ou” e “não”. C = A & B é uma matriz cujo os elementos são 1s onde ambas as matrizes A e B são elementos não-nulos, e 0s onde uma das matrizes ou ambas são elementos nulos.

C = A | B é uma matriz cujo os elementos são 1s onde tanto A ou B possuem elementos não-nulos, e 0s onde ambas posssuem elementos nulos.

B = ~A é uma matriz cujo os elementos são 1s onde a matriz A é um elemento nulo, e 0s quando A é um elemento não-nulo. Todas as operações acima são válidas apenas para quando A e B possuem mesma dimensão, ou quando uma das duas matrizes é um escalar.

As funções lógicas e relacionais do MATLAB são:

  • any - condições lógicas
  • all - condições lógicas
  • find - encontra os índices da matriz de valores lógicos
  • exist - verifica a existência de variáveis
  • isnan - detecta se algum elemento da matriz é NaN
  • (^) isinf - detecta se algum elemento da matriz é infinito
  • finite - verifica os valores finitos da matriz
  • isempty - detecta matrizes vazias
  • isstr - detecta variáveis string
  • isglobal - detecta variáveis globais
  • issparse - detecta matrizes esparsas

4.3 Funções Matemáticas

A funções trigonométricas incluídas no MATLAB são

  • sin - seno
  • cos - cosseno
  • tan - tangente
  • asin - arco-seno
  • acos - arco-cosseno
  • atan - arco-tangente
  • atan2 - arco-tangente para os quatro quadrantes
  • sinh - seno hiperbólico
  • cosh - cosseno hiperbólico
  • tanh - tangente hiperbólica
  • asinh - arco-seno hiperbólico
  • acosh - arco-cosseno hiperbólico
  • atanh - arco-tangente hiperbólico

MATLAB inclui como funções elementares

  • abs - valor absoluto ou módulo de um número complexo
  • (^) angle - ângulo de fase
  • sqrt - raiz quadrada
  • real - parte real
  • imag - parte imaginária
  • conj - complexo conjugado
  • round - arredondamento para o inteiro mais próximo
  • fix - arredondamento para o inteiro mais próximo de zero
  • floor - arredondamento para o inteiro mais próximo de -
  • ceil - arredondamento para o inteiro mais próximo de +
  • sign - função sinal
  • rem - remanescente ou módulo
    • gcd - máximo divisor comum
    • lcm - mínimo múltiplo comum
    • exp - exponencial de base e
    • log - logaritmo natural
    • log10 - logaritmo de base 10

Capítulo 5

Manipulação de Vetores e Matrizes

Neste capítulo são mostrados comandos que geram vetores e funções que geram matrizes.

5.1 Gerando Vetores

Os dois pontos (:) representam um caractere importante no MATLAB. A linha de comando

>> x = 1:

gera um vetor linha contendo os números de 1 a 5 com incremento de uma unidade. Desta forma é produzido o vetor

x =

Pode-se utilizar incrementos diferentes da unidade como em

>> y = 0: pi/4: pi

que resulta em um vetor linha começando em zero e terminando em (3.1416) com incremento de /4 (0.7854). Esta notação do dois pontos possibilita a fácil geração de tabelas. Para se obter um vetor coluna basta transpor o vetor linha gerado.

Outras funções para geração de vetor incluem o logspace, o qual gera vetores espaçados logaritmicamente, e o linspace, que permite que você especifique o número de pontos ao invés do incremento.

>> k = linspace (-pi,pi,4)

k =

5.2 Matrizes Especiais MATLAB apresenta algumas funções úteis para gerar matrizes:

  • zeros - zeros
  • ones - constante
  • rand - elementos randômicos uniformemente distribuídos
  • randn - elementos randômicos normalmente distribuídos
  • (^) eye - identidade
  • linspace - vetores espaçados linearmente
  • logspace - vetores espaçados logaritmicamente
  • meshgrid - utilizada com funções de duas variáveis

5.3 Manipulação de Matrizes

  • rot90 - rotação
  • fliplr - inverte a matriz da esquerda para a direita
  • flipud - inverte a matriz de cima para baixo
  • diag - extrai ou cria diagonal
    • tril - triângulo inferior
    • triu - triângulo superior
    • reshape - altera o formato
    • ‘ - transposição
    • : - rearranjamento geral

r vermelho + sinal positivo g verde * asterisco b azul - sólida w branco : pontilhada k preto -. traço e ponto -- tracejada

Por exemplo, plot(X,Y,’b*’) plota um asterisco azul em cada ponto de dado. Se não for especificada uma cor, a função plot automaticamente utiliza as cores na ordem em que se apresentam na tabela acima. Desta forma, para uma linha somente, o gráfico é traçado em amarelo.

6.4 Adicionando Linhas a um Gráfico Existente

Podem ser adicionadas linhas a um gráfico já existente utilizando o comando hold. Quando hold é ativado, MATLAB não remove as linhas já existentes; ao invés disto, adiciona novas linhas aos eixos existentes. Pode ser que os eixos sejam redefinidos se os novos dados se encontrarem fora da escala do antigo eixo. Por exemplo, a linha de comando abaixo traça as três curvas em uma mesma figura:

>> plot(x)

>> hold on

>> plot(y1,’—‘)

>> plot(y2,’-.’)

>> hold off

6.5 Dados Imaginários e Complexos

Quando os argumentos a serem plotados são complexos, a parte imaginária é ignorada exceto quando o comando plot é dado simplesmente com um argumento complexo. Para este caso especial, o comando é um atalho para um gráfico da parte real em função da parte imaginária. Portanto

>> plot(Z)

onde Z é um vetor ou uma matriz complexa, é equivalente a

>> plot(real(Z),imag(Z))

6.6 Plotando Matrizes

Um arquivo-M que possui uma função para gerar uma matriz de dados é o peaks. Os dados são baseados em uma função de duas variáveis, tendo três pontos de máximo e mínimo:

O arquivo-M cria uma matriz que possui os valores da função para x e y na faixa de -3 a

  1. Os valores de x variam ao longo das colunas e os de y ao longo das linhas. Você pode especificar o tamanho da matriz quadrada que é retornada passando como argumento à função peaks. Por exemplo,

>> M = peaks(20)

cria uma matriz de dados de dimensão 20 por 20. Se você omitir o argumento de entrada, o valor utilizado é o padrão, que é 49. A função plot pode ter um único argumento que pode ser uma matriz:

>> plot(Y)

Isto faz com que seja traçada uma linha no gráfico para cada coluna de Y. O eixo x é assumido como sendo o índice do vetor linha, 1:m, onde m é o número de linhas de Y. Por exemplo, a linha de comando

>> plot(peaks)

produz um gráfico com 49 linhas. A função plot também aceita dois vetores ou matrizes como argumentos. Por exemplo,

>> plot(peaks,rot90(peaks’))

produz um gráfico da função peaks em função da transposta deslocada de 90° da mesma função peaks. Em geral, se plot é utilizada com dois argumentos, e se X ou Y possuem mais de uma linha ou coluna, então:

  • Se Y é uma matriz, e x é um vetor, plot(x,Y) plota sucessivamente as linhas ou colunas de Y, utilizando diferentes cores ou tipos de linha para cada, em função do vetor x. A orientação de linhas ou colunas é selecionada de forma a possuir o mesmo

número de elementos de x. Se Y é quadrada, suas colunas é que são usadas.

  • Se X é uma matriz e y é um vetor, plot(X,y) plota cada linha ou coluna de X em função do vetor y.
  • Se ambos X e Y são matrizes de mesma dimensão, plot(X,Y) plota as colunas de X em função das colunas de Y. Também pode ser utilizada a função plot com vários pares de matrizes no argumento.

>> plot(X1,Y1,X2,Y2,...)

Cada par X-Y é plotado, gerando múltiplas linhas. Os diferentes pares podem ser de dimensões diferentes.

6.7 Copiando Gráficos Os gráficos criados no MATLAB não podem ser salvos como é feito com o espaço de trabalho. Pode-se, entretanto, copiá-los como arquivo bitmap (BMP) para a área de transferência e depois colá-lo no Word ou no Paintbrush, por exemplo. Para tanto, escolha, na figura, o menu Edit e clique em Copy ; a figura foi copiada para a área de transferência. Basta, agora, entrar no Word ou no Paintbrush e escolher a opção Colar do menu Editar.

PARTE II

Informações Avançadas

A segunda parte traz os capítulos de 7 a 15, e contém tópicos mais avançados.

Para avançar nesta parte o leitor deve ter compreendido a primeira parte.