Você está na página 1de 14

João

Gertrudes

Maio de 2009.
SUMÁRIO

1 INTRODUÇÃO AO MATLAB 3

1.1 RODANDO O MATLAB 3


1.2 MATEMÁTICA ELEMENTAR 11
1.3 O ESPAÇO DE TRABALHO DO SCILAB 13
1.4 VARIÁVEIS 14
1.5 COMENTÁRIOS E PONTUAÇÃO 14

2 ARQUIVOS DE SCRIPT 15

2.1 COMANDOS DE ENTRADA E SAÍDA (E/S) 15


2.2 EDITANDO UM PRIMEIRO SCRIPT 16

3 FUNÇÕES 22

4 OPERADORES 25

4.1 OPERADORES RELACIONAIS 25


4.2 OPERADORES LÓGICOS 26

5 ESTRUTURAS 28

5.1 ESTRUTURA CONDICIONAL 28


5.1.1 A ESTRUTURA IF 28
5.2 ESTRUTURAS DE REPETIÇÃO 30
5.2.1 WHILE 30
5.2.2 FOR 31
5.2.3 BREAK 33
5.2.4 CONTINUE 33

6 VETORES E MATRIZES 35

6.1 VETORES 35
6.2 MATRIZES 42
6.2.1 TIPOS ESPECIAIS DE MATRIZES 44
6.2.2 OPERAÇÕES COM MATRIZES 49

7 ARQUIVOS DE FUNÇÕES (ARQUIVOS M) 54

7.1 DEFININDO UMA FUNÇÃO 55

2
1 Introdução ao MATLAB

O MATLAB (Matrix Laboratory) é uma linguagem de alto nível voltada para a computação numérica. Possui uma
interface de linha de comando para a resolução numérica de problemas lineares e não lineares, e para executar outros
experimentos numéricos utilizando outras linguagens que são compatíveis com o MATLAB.

O MATLAB é uma ferramenta de software que pode funcionar como uma simples calculadora ou até como uma
linguagem de programação científica (como por exemplo: fortran, C, pascal, etc.) existindo a possibilidade de
programação com recursos de Interface Gráfica como os pacotes Delphi e C++Builder. Entretanto, ele apresenta
diversas vantagens devido a sua simplicidade e uma interface gráfica bastante completa para visualização e análise
dos resultados.

Possui como principal característica uma extensa lista de ferramentas para a solução de problemas numéricos como de
álgebra linear, determinação das raízes de equações não lineares, manipulação de polinômios, integração de equações
diferenciais ordinárias, equações diferenciais algébricas, etc. Muitas das suas funcionalidades podem ser encontradas
na internet com um fácil acesso. O MATLAB trabalha, essencialmente, com um único tipo de objeto, uma matriz
retangular com possíveis elementos complexos. Em algumas situações, em propósitos especiais é possível trabalhar
com matrizes 1 por 1, que são escalares e com matrizes com uma única coluna ou linha, que são vetores.

Como ambiente de programação, o MATLAB permite desenvolver em poucas horas, programas que levariam meses
para serem escritos em Fortram, Pascal ou C. Através da linguagem de programação, você pode acessar todos os
recursos do MATLAB, modificar funções existentes, criar as suas próprias rotinas e acrescentá-las ao sistema,
adaptando o MATLAB às suas necessidades específicas. Além disso, já existem disponíveis no mercado, vários
módulos produzidos pela “The MathWorks” denominados TOOLBOX.

MATLAB Toolboxes são módulos que podem ser adicionados ao ambiente MATLAB para auxiliar em aplicações
específicas. Cada Toolbox foi desenvolvido e programado por especialistas nas áreas específicas. Isto faz com que
cada Toolbox forneça um conjunto de funções completo e adequado para cada disciplina. Algumas das principais
toolboxes: Optimization, Control System, System Identification, Signal Processing, Spline, Neural Networks, Fuzzy
Logic, Image Processing, Simulink, Simbolic Math, Statistics, MMLE3 State-Space Identification, Finantial Mathematics,
Robust Control System, Nonlinear Control Design, entre outras.

1.1 Rodando o MATLAB

O MATLAB (“MATrix LABoratory) é um software, ou um pacote de software, de computação científica que tem como
característica ser um ambiente de programação interativa. A interface segue uma linguagem que é projetada para
parecer como a notação usada na álgebra linear. Como um ambiente de programação, o MATLAB possui seu próprio
editor de programas, simplificando bastante o seu uso.

Primeiro você deve instalar o MATLAB, procure a versão que melhor se adapte as suas necessidades, neste material
estaremos usando a versão 7.

Uma vez inicializado o MATLAB, aparecerão três janelas conforme Figura 1, a janela central é a de comandos
(Command Window). Na janela de comandos, um prompt >> surgirá, o prompt significa que o Matlab está esperando
um comando. Todo comando deve ser finalizado teclando-se Enter.

3
Figura 1: Tela inicial do MATLAB, a aparência exata do desktop pode diferir ligeiramente em diferentes tipos de
computador.

No Matlab, pode-se obter ajuda sobre qualquer comando ou função, utilizando o comando >> help (sempre minúsculo).
Utilizando este comando aparecerá uma listagem dos pacotes disponíveis (Figura 2), com seus respectivos links para a
ajuda solicitada.

4
Figura 2: Resultado do comando help

Por exemplo, ao explorar o link: matlab\elmat (4o item da lista apresentado ao utilizar o comando help anterior)
aparecerá uma listagens das principais funções que o MATLAB considera elementares, veja a Figura 3. O MATLAB
possui todas as funções organizadas em grupos e a própria estrutura de diretórios onde o MATLAB é armazenado em
disco reflete esse fato. Por exemplo, todas as funções de álgebra linear, por exemplo, estão armazenadas no diretório
matfun.

Figura 3: Resultado do comando help aplicando ao link matlab\elmat

Finalmente para saber como utilizar o comando, como por exemplo, o comando “zeros”, o MATLAB mostra a forma de
sua utilização, conforme a Figura 4

5
Figura 4: Resultado do comando help aplicando ao link matlab\elmat\zeros

Mas, se você lembrar-se do comando e apenas não lembra como faz para utilizá-lo pode chamar o help
especificamente, através do comando

>> help nome

onde o nome é o comando que deseja ver as especificações. Vejamos o comando >> help zeros

6
Figura 5: Resultado do comando help zeros

Como não é fácil decorar os nomes de todas as categorias de funções, todas as toolbox, existe uma janela de ajuda
mais organizada, bastando para tal escrever o comando

>>helpwin

Ou se preferir, utilizar o help no menu inicial.

1.1.1 O comando LOOKFOR

Quando se pretende encontrar uma função para resolver um problema, mas desconhece-se se existirá alguma
adequada no MATLAB, o comando lookfor permite pesquisar as primeiras linhas do “help" de todas as funções da
instalação do MATALB. Esta pesquisa é adequada para resolver a maior parte das situações uma vez que a primeira
linha do “help" de uma função contém sempre uma descrição sumária da sua funcionalidade. O seguinte exemplo
procura pela palavra “eigenvalues", para procurar funções que usam autovalores.

>> lookfor eigenvalues

Caso pretenda uma busca mais apurada, pode-se usar o comando lookfor com a opção –all, que a pesquisa será em
todas as linhas do “help"

>>lookfor -all eigenvalues

Este texto tem por objetivo te guiar nos primeiros passos de como utilizar este ambiente (MATLAB) no seu modo
interativo, ao tratar da manipulação de matrizes e inteiros, e também apresentará os comandos básicos de
programação, permitindo a compreensão de como um programa ou uma função pode ser construída.

7
Antes de iniciar a comentar sobre como um programa é escrito em MATLAB, vamos recordar um pouco sobre as
operações elementares e algoritmos, ou seja, se preparar para projetar os seus programas a serem executados no
MATLAB.

OBS: Para encerrar o MATLAB, devemos digitar no prompt (>>) o comando exit ou quit.

1.2 O Sistema MATLAB

O sistema Matlab é constituído pelas seguintes partes:

A linguagem: Como se utiliza a idéia de matrizes e suas operações de forma rápida e intuitiva, diferentes soluções,
muitas vezes, podem ser testadas rapidamente. Além disso, possui um grande número de funções e permite a criação
rápida de novas o que facilita a resolução de problemas complexos. O MATLAB oferece mais de 500 funções
matemáticas, estatísticas, científicas e de engenharia. Problemas e soluções são expressos em linguagem matemática,
permitindo que você passe seu raciocínio diretamente para o MATLAB, livre de qualquer preocupação de caráter
computacional (declaração de variáveis, alocação de memória, por exemplo).

O ambiente de trabalho: O Matlab apresenta um ambiente de trabalho que permite a visualização das variáveis, gerar
gráficos, ou seja, gerir a resolução dos problemas. Muito importante para a automatização de cálculos complexos.

Gráficos: As funções de criação, visualização e manipulação de gráficos são muito fáceis de usar e permitem a criação
de gráficos 2D e 3D. O ajuste de escala é automático e o utilizador pode começar a utilizar as funções de geração de
gráficos pouco tempo depois do primeiro contacto com o ambiente do Matlab.

"Toolboxes": O Matlab disponibiliza um conjunto de pacotes de funções para as mais variadas áreas de cálculo
científico, sendo estes denominados “ toolboxes". Existem “toolboxes" para estatística, processamento de sinal,
processamento de imagem, controle, cálculo simbólico, etc. As “toolboxes” são módulos que podem ser adicionados ao
ambiente MATLAB para auxiliar em aplicações específicas. Cada toolbox foi ou é desenvolvido e programado por
especialistas nas específicas áreas. Isto faz com que cada toolbox forneça um conjunto de funções completo e
adequado para cada área. As principais MATLAB Toolboxes: Optimization, Control System, System Identification,
Signal Processing, Spline, Neural Networks, Fuzzy Logic, Image Processing, Simulink, Simbolic Math, Statistics,
Finantial Mathematics, Robust Control System, Nonlinear Control Design, etc.

1.2.1 Comandos para Gerenciamento de Arquivos

Escolha do caminho onde serão salvos todas as variáveis ou arquivos. Pode-se proceder de
várias formas:

1ª: Através da linha de comando, é necessário que se saiba aonde exatamente se quer chegar,
ou seja, em qual pasta você deseja que sejam salvos as suas variáveis ou arquivos assim,
digitando-se:

>> cd

C:\Curso_Matlab

tem-se o caminho e a atual pasta em que se encontra o arquivo, para saber quais pastas e
arquivos estão contidos nesta pasta, basta digitar:

>> dir

.
..
8
arquivo.doc
testes
....

com este comando todos os arquivos e pastas devem são exibidos, basta agora que você escolha
a pasta e digite (por exemplo):

>> cd testes

se deseja voltar um nível acima basta digitar:

>> cd ..

note que testes foi a pasta que eu escolhi e que não possuía extensão “.alguma_coisa” , o nome
da pasta pode variar conforme os arquivos que você possua.

Alguns comandos são úteis para poder se localizar no matlab.

O comando pwd mostra o diretório que você se encontra no momento. (experimente o comando)

2ª: A outra forma de definir a pasta onde serão salvos as variáveis ou arquivos é utilizar a barra de
ferramentas superior e selecionar o caminho da pasta, caso o caminho ainda não esteja
disponível basta apenas dar um click no botão de busca, onde se vê os três pontinhos, e
selecionar a pasta desejada.

Existem muitos outros comandos importantes, que devem ser ressaltados para o gerenciamento
de arquivos no Matlab, abaixo estão relacionados alguns destes comandos, inclusive os até aqui
discutidos:

Tabela 01: Comandos para Gerenciamento de Arquivos

cd Mostra o diretório de trabalho atual ou corrente


p=cd Retorna para a variável p o diretório de trabalho corrente
cd pasta1 Muda para o diretório pasta1
cd .. Muda para o diretório um nível acima
chdir O mesmo que cd
chdir path O mesmo que cd temp
delete test deleta o arquivo test.m
dir Lista todos os arquivos do diretório de trabalho presente
ls Faz o mesmo que o comando dir
matlabroot Fornece o caminho do MATLAB
path Visualiza todos os arquivos do diretório do MATLAB
pwd Mostra onde você está - diretório
type test Visualiza o arquivo M-file test.m na janela de comandos, ou workspace
what Retorna uma lista de todos os M-files do diretório corrente
which test Visualiza o caminho do diretório do arquivo test.m
clc usado para limpar a tela

O comando whos e o comando who podem ser usados para se ter um controle das variáveis e
suas dimensões que estão na memória de trabalho.

>> whos
Name Size Bytes Class

ans 1x1 16 double array (complex)

Grand total is 1 element using 16 bytes

9
Observe que nas versões mais atualizadas existe uma janela, geralmente ao lado esquerdo da
Janela do Matlab, na aba Workspace que aparece a lista de variáveis que está disponível,
inclusive com as informações de memória e tamanho.

1.3 Primeiros Passos

1.3.1 Variáveis
O MATLAB trabalha essencialmente com um tipo de variável: uma matriz contendo números, complexos ou não. No
caso de um número real qualquer, ele pode ser entendido como uma matriz 1x1.

A linguagem MATLAB não contém declaração de dimensão ou declaração de tipo. Armazenamento é alocado
automaticamente, até a capacidade de memória do computador. O método mais fácil de entrar com pequenas matrizes
é usar uma lista explicita. A lista explicita de elementos é separada por brancos ou vírgulas, e fechada por colchetes, e
usa-se o ponto-e-vírgula para indicar o final da linha.

1.3.2 Atribuição
Uma matriz, por exemplo, pode ser criada através do comando:

>> A = [1 1 1; 2 2 2; 3 3 3]
ou

>> A = [1 1 1
222
3 3 3]

e o resultado, para ambos os casos, será

A=
1 1 1
2 2 2
3 3 3

Obs: Matrizes podem ser entradas no MATLAB de várias maneiras: a) Entrada por uma lista explícita de elementos; b)
Gerada por declarações e funções internas; c) Criadas por arquivos-M; d) Carregadas de arquivos de dados externos.

A atribuição de um valor a uma variável pode ser realizada da seguinte forma:

>> x = 8

(não é necessário declarar a variável)

O MatLab responderá com

x=
8

Se o mesmo comando for digitado com o ";" no final da expressão

>> x = 8;

nada será exibido além do prompt de espera de um novo comando. Porém, ao digitar a variável "x" e pressionar o
<Enter>, aparecerá o conteúdo atual de "x":

10
x=
8

Retornando a matriz A definida anteriormente, como nos reportamos ao primeiro elemento da linha 1, e da coluna 1 ?
O trabalho com índices no matlab é natural, basta você digitar A(1,2) e aparecerá o elemento da posição indicada.

>>A(1,2)
ans =

Quando são atribuídos valores às variáveis, estas guardam os valores até que novos valores sejam atribuídos ou o
programa seja encerrado. Para limpar o conteúdo das variáveis, existe o comando " clear":

>> clear;

Comandos anteriormente submetidos ao MatLab podem ser recuperados e re-executados a qualquer momento,
usando-se a tecla de "seta para cima".

1.3.3 Índices
Seja a matriz A definida por A=[ 1 2 3; 4 5 6; 7 8 9 ], ou seja,
>> A=[ 1 2 3; 4 5 6; 7 8 9 ];

O elemento da linha i e da coluna j de uma matriz A é designado por A(i; j). Por exemplo, o elemento da linha 1 e coluna
3 da matriz A é designado por A(1; 3). Em notação Matlab, para obter o elemento A(1; 3) definida anteriormente, pode-
se escrever
>>A(1,3)
e obtém-se
ans= 3

Para alterar o valor do elemento A(1; 3) para 7 basta fazer


>>A(1,3)= 7

Os índices das matrizes são números inteiros positivos pertencentes ao intervalo [1 … N] em que N depende da
memória disponível, e podem ser vetores declarados anteriormente. Se pretendermos, por exemplo, extrair a segunda
linha da matriz A podemos fazer

>> V= A(2,[1 2 3])


V=
456

ou declarando primeiro um vetor para os índices das colunas


>>k= [1 2 3]
>>V= A(2,k)
V=
456

1.4 Matemática Elementar


De forma semelhante ao uso de uma calculadora, o Matlab é capaz de executar cálculos elementares. Veja o seguinte
exemplo: Pedro foi ao mercado comprar 6 pães a 30 centavos de real cada, 2 caixas de leite custando R$ 1,10 cada e 1
pacote de biscoito água e sal por R$ 1,73. Quantos itens foram comprados? Quanto eles custaram?

De forma simples, efetuaríamos a soma da quantidade dos produtos comprados, ou seja, 6+2+1 = 9 itens; e a compra
custaria 6 * 0,30 + 2 * 1,1 + 1 * 1,73 = R$ 5,73.

11
Figura 6: Tela de comandos do Matlab

De forma análoga, poderíamos resolver o problema de inúmeras maneiras utilizando o matlab. Adotando-se o mesmo
método da calculadora teríamos:

>>6+2+1
ans =

9.

>>6 * 0.30 + 2 * 1.1 + 1 * 1.73


ans =

5.73

Observe que o matlab não contabiliza os espaços em branco e que a multiplicação realizada para calcular o valor da
compra tem precedência sobre a adição. Outro ponto a ser examinado é a utilização do caracter de ponto “.” ao invés
de vírgula nos valores dos produtos. Verifique que o matlab chama o resultado de ans em ambos os cálculos; ans é a
abreviação de answer1.

Poderíamos utilizar como alternativa o uso de variáveis para resolver o problema. Veja o exemplo abaixo:

>>pao = 6
pao =

6.

>>leite = 2
leite =

2.

>>biscoito = 1
biscoito =

1.

>>itens = pao+leite+biscoito
itens =

9.

>>custo = pao*0.30+leite*1.1+biscoito*1.73
custo =

5.73

Aproveitando o cálculo de custo da compra, podemos verificar qual foi o preço médio dos itens comprados. Mas, este
assunto será retomado na sequência.

1 Do inglês para o português answer significa resposta.

12
Além das operações vistas de adição e multiplicação, o matlab possui outras operações aritméticas elementares. Veja a
Tabela 1 das operações básicas.

Tabela 1: Operações elementares


OPERAÇÃO SÍMBOLO EXEMPLO
Adição: a+b + 10+32
Subtração: a-b - 28-7
Multiplicação: a·b * 0.12*97
a
Divisão: / ou \ 28/2
b
Potenciação: ab ^ 2^3

As expressões são executadas da esquerda para a direita com a seguinte ordem de precedência: operação
de potência, seguida das operações de multiplicação e divisão, que por sua vez são seguidas pelas
operações de adição e subtração. Parênteses podem ser usados para alterar esta ordem de precedências,
onde as operações são executadas dos parênteses mais internos para os mais externos.

Realizando os exemplos no matlab:

-->10+32
ans =

42.

-->28-7
ans =

21.

-->0.12*97
ans =

11.64

-->28/2
ans =

14.

-->2^3
ans =

8.

1.5 O espaço de trabalho do Matlab


Quando estamos trabalhando na janela de comandos, o matlab armazena os comandos que foram digitados bem como
os valores das variáveis que por sua vez foram criadas. Dizemos então que esses comandos e variáveis residem no
espaço de trabalho do matlab e podemos chama-los a qualquer momento quando necessário. Para verificarmos o valor
da variável leite, apenas digitamos o nome da variável no prompt.

-->leite
leite =

2.

Caso desejarmos listar todas as variáveis residentes na área de trabalho do matlab, podemos utilizar o comando who.

>> who

13
Your variables are:

A B a b prod soma

Verifique que após executarmos o comando who, são listadas todas as variáveis utilizadas até o momento.
Alternativamente ao comando who, há o comando whos, que apresenta as variáveis e o formato de cada variável. Veja
abaixo o exemplo:

>> whos
Name Size Bytes Class Attributes

A 3x3 72 double
B 3x3 72 double
a 1x1 8 double
b 1x1 8 double
prod 3x3 72 double
soma 1x1 8 double

1.6 Variáveis
Assim como qualquer linguagem de programação, o matlab possui algumas regras com relação a formação de nomes
de variáveis. Segue abaixo algumas regras que devem ser seguidas para definirmos os nomes de variáveis.

- As variáveis são sensíveis a maiúsculas e minúsculas;


- Os nomes de variáveis devem começar com uma letra, seguida de um número qualquer de letras, algarismos ou
sublinhados;
- Caracteres de pontuação não são permitidos por terem um significado especial para o matab;
- Não são permitidos caracteres acentuados, cedilha;

1.7 Comentários e pontuação


Todo texto depois dos caracteres % é considerado comentário.

-->leite = 5 % numero de caixas de leite


leite =

5.

A variável leite assume o valor 5 e o matlab ignora o sinal de porcentagem e o texto a sua direita. Essa facilidade
permite realizar a documentação dos comandos.

Outra característica interessante é a digitação de mais de um comando por linha. Podemos utilizar a vírgula ou o ponto
e vírgula com tal finalidade.

-->base = 5, altura = 4; raio = 3


base =

5.
raio =

3.

Quando o matlab encontra a vírgula, mostra o valor da variável em questão; já com o ponto e vírgula, o visualização é
ocultada.

Vamos observar o uso de algumas funções que serão úteis no dia a dia da programação matlab.

Resolver a Atividade 01

14