(Parte 1 de 5)

Universidade Federal de Mato Grosso do Sul

Departamento de Engenharia Elétrica

Curso de MATLAB

Grupo PET - Engenharia Elétrica

SUMÁRIO

APRESENTAÇÃO

O que é o MATLAB?

Carregando o MATLAB

Editor de Linhas de Comando

1 Introdução

1.1 Entrando com Matrizes Simples

1.2 Elementos das Matrizes

1.3 Declarações e Variáveis

1.4 Obtendo Informações da Área de Trabalho

1.5 Números e Expressões Aritméticas

1.6 Números e Matrizes Complexas

1.7 Formato de Saída

1.8 As Facilidades do HELP (Ajuda)

1.9 Funções

2 OPERAÇÕES COM MATRIZES

2.1 Transposta

2.2 Adição e Subtração

2.3 Multiplicação

2.4 Divisão

2.5 Exponenciação

3 OPERAÇÕES COM CONJUNTOS

3.1 Adição e Subtração

3.2 Multiplicação e Divisão

3.3 Exponenciação

3.4 Operações Comparativas

4 MANIPULAÇÃO DE VETORES E MATRIZES

4.1 Gerando Vetores

4.2 Elementos das Matrizes

5 FUNÇÕES

5.1 Integração Numérica

5.2 Equações Não-Lineares e Otimização

5.3 Equações Diferenciais

6 GRÁFICOS

6.1 Gráficos Bidimensionais

6.2 Estilos de Linha e Símbolo

6.3 Números Complexos

6.4 Escala Logarítmica, Coordenada Polar e Gráfico de Barras

6.5 Plotando Gráficos Tridimensionais e Contornos

6.6 Anotações no Gráfico

7 CONTROLE DE FLUXO

7.1 Laço for

7.2 Laço while

7.3 Declarações if e break

8 ARQUIVOS ".m"

9 OPERAÇÕES COM O DISCO

9.1 Manipulação do Disco

9.2 Executando Programas Externos

9.3 Importando e Exportando Dados

10 LISTA DE EXERCÍCIOS

% LISTA DE EXERCÍCIOS - COMANDOS BÁSICOS DO MATLAB

% RECURSOS DE GRAVAÇÃO (ARMAZENAGEM) DE DADOS

% RECURSOS GRÁFICOS

% AJUSTE DE CURVAS DE DADOS EXPERIMENTAIS

% PROGRAMANDO COM O MATLAB

% CRIANDO UMA SUBROTINA

% CRIANDO UM PROGRAMA EXEMPLO DE GRÁFICO 3D

%EXERCÍCIOS COM O MATLAB

REFERÊNCIA BIBLIOGRÁFICA

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

A =

1 2 3

4 5 6

7 8 9

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.1597

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

Ctrl 

move uma palavra para a esquerda

Ctrl 

move uma palavra para a direita

Home

move para o começo da linha

End

move para o final da linha

Del

apaga um caracter a direita

Backspace

apaga um caracter a esquerda

1 INTRODUÇÃO

O MATLAB trabalha essencialmente com um tipo de objeto, uma matriz numérica retangular podendo conter elementos complexos (deve-se lembrar que um escalar é uma matriz de dimensão l x l e que um vetor é uma matriz que possui somente uma linha ou uma coluna).

1.1 Entrando com Matrizes Simples

As matrizes podem ser introduzidas no MATLAB por diferentes caminhos:

- digitadas na Janela de Comando (lista explícita de elementos),

- geradas por comandos e funções,

- criadas em arquivos ".m",

- carregadas a partir de um arquivo de dados externo.

O método mais fácil de entrar com pequenas matrizes no MATLAB é usando uma lista explícita. Os elementos de cada linha da matriz são separados por espaços em branco ou vírgulas e as colunas separadas por ponto e vírgula, colocando-se colchetes em volta do grupo de elementos que formam a matriz. Por exemplo, entre com a expressão

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

Pressionando <enter> o MATLAB mostra o resultado

A=

l 2 3

4 5 6

7 8 9

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

>> 4 5 6

>> 7 8 9]

Outra maneira para entrar com matrizes no MATLAB é através de umarquivo 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

4 S 6

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]

resultaem

x =

-l.3000 1.4142 23.0400

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.3000

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=

1 2 3

4 5 6

7 8 9

10 11 12

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. 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

>> 1900/81

que produz

ans=

23.4568

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 ".m" e em situações onde o resultado é uma matriz de grandes dimensões e temos interesse em apenas alguns dos seus elementos.

Se a expressão é tão grande que não cabe em apenas uma linha, pode-se continuar a expressão na próxima linha usando um espaço em branco e três pontos,”...”, ao final das linhas incompletas. Por exemplo,

>> s = l - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ...

>> - 1/8 + 1/9 - l/10 + 1/11 - 1/12 + 1/13;

calcula o resultado da série, atribuindo a somatória à variável s, mas não imprime o resultado na tela. Note que os espaços em branco entre os sinais “=”, “+” e “-“ são opcionais, mas o espaço em branco entre “1/7” e “...” é obrigatório.

As variáveis e funções podem ser formadas por um conjunto de letras, ou por um conjunto de letras e números, onde somente os primeiros 19 caracteres do conjunto são identificados. O MATLAB faz distinção entre letras maiúsculas e minúsculas, assim a e A não são as mesmas variáveis. Todas as funções devem ser escritas em letras minúsculas: inv(A) calcula a inversa de A, mas INV(A) é uma função indefinida.

1.4 Obtendo Informações da Área de Trabalho

Os exemplos de declarações mostrados nos itens acima criaram variáveis que são armazenadas na Área de Trabalho do MATLAB. Executando

>> who

obtêm-se uma lista das variáveis armazenadas na Área de Trabalho:

Your variables are:

A ans r s x

Que mostra as cinco variáveis geradas em nossos exemplos, incluindo ans.

Uma informação mais detalhada mostrando a dimensão de cada uma das variáveis

correntes é obtido com whos que para nosso exemplo produz:

Name

Size

Efements

Bytes

Density

Complex

A

3 by 3

9

72

Full

No

ans

1 by 1

1

8

Full

No

r

1 by 3

3

24

Full

No

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:

3 -99 0.00001

9.637458638 1.602E-20 6.06375e23

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. 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+5*i 2+6*i; 3+7*i 4+8*i]

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. 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.0000

format short e

1.3333e+000 1.2345e-006

format long

1.33333333333333 0.000000123450000

format long e

1.333333333333333e+000 1.234500000000000e-006

format hex

3ff5555555555555 3eb4b6231abfd271

format rat

4/3 1/810045

format bank

1.33 0.00

format +

++

Com o formato short e long, se o maior elemento da matriz é maior que 1000 ou menor que 0.001, um fator de escala comum é aplicado para que a matriz completa seja mostrada. Por exemplo,

>> x = 1.e20*x

resultado da multiplicação será mostrado na tela.

X =

(Parte 1 de 5)

Comentários