Escolar Documentos
Profissional Documentos
Cultura Documentos
São necessários alguns comandos básicos para usar o programa MATLAB. Este tutorial
resumido descreve esses comandos. Você precisa criar vetores e matrizes, alterá-los e operar
com eles. Todos eles são comandos curtos e de alto nível, pois o MATLAB trabalha
constantemente com matrizes. Acredito que vocês vão gostar do poder que esse software
fornece ao usuário para trabalhar com álgebra linear por meio de várias instruções resumidas:
A matriz com todos os ones foi acrescentada ao eye(3) e b é sua terceira coluna. A seguir, inv(A)
produz a matriz inversa (normalmente em decimais; para frações, use format rat). O sistema
Ax = b é resolvido por x = inv(A) ∗ b, que é a forma mais lenta. O comando barra invertida
x = A\b usa a eliminação gaussiana se A for quadrado e nunca calcula a matriz inversa. Quando
o lado direito b se iguala à terceira coluna de A, a solução x deverá ser [0 0 1]´. (O transpose
symbol ´ transforma x em um vetor coluna). A seguir, A ∗ x seleciona a terceira coluna de A, e
teremos Ax = b.
Alguns comentários. O símbolo do comentário é %:
% Digite help slash para uma descrição de como usar o símbolo de barra invertida. A
palavra help pode ser seguida de um símbolo do MATLAB ou do nome do comando ou
do nome do arquivo-M.
1
Obs.: O nome do comando está em letra maiúscula na descrição fornecida pela
Ajuda, mas deve ser digitado em letra minúscula ao usar o programa. E a barra
invertida A\b é diferente quando A não for quadrado.
% Para exibir todos os 16 dígitos, digite format long. O format short normal fornece 4
dígitos após o decimal.
% Use o cursor seta para cima para voltar aos comandos anteriores.
ou é o vetor u transposto
gera o vetor linha = [2 3 4 5] com passos unitários
assume passo 2 para fornecer u = [1 3 5 7]
toeplitz fornece a matriz diagonal-constante simétrica com como primeira linha e primeira
coluna
toeplitz fornece a matriz simétrica com diagonal-constante com como primeira coluna
e como primeira linha
ones fornece uma matriz n x n de um´s
2
zeros(n) fornece matriz n x n somente de zeros
eye (n) fornece matriz identidade n x n
rand(n) fornece matriz n x n com entradas aleatórias entre 0 e 1 (distribuição uniforme)
randn(n) fornece matriz n x n com entradas normalmente distribuídas (média 0 e variância 1)
one s(m, n) zeros(m,n) rand(m,n) fornecem matrizes m x n
ones(size (A)) zeros(size (A)) eye(size A)) fornecem matrizes com o mesmo formato de A
3
Números e matrizes associadas a A
det(A) é odeterminante (se A for uma matriz quadrada)
rank(A) é o posto (número de pivôs = dimensão do espaço da linha e do espaço da coluna)
size(A) é o par de números [m n]
trace(A) é o traço = soma das entradas diagonais = soma dos autovalores
null(A) é a matriz cujas colunas n - r são uma base ortogonal para o espaço nulo de A
orth(A) é a matriz cujas colunas r são uma base ortogonal para o espaço de coluna de A
Exemplos
E = eye(4);E(2,1) = -3 cria uma matriz elementar de eliminação 4 x 4
E ∗ A subtrai 3 vezes a linha 1 de A da linha 2.
B = [A b] cria a matriz aumentada com b como coluna extra
E = eye(3); P = E([2 1 3],:) cria uma matriz de permutação
Observe que triu(A) + tril(A) – diag(diag(A)) se iguala a A
Criando arquivos-M
Os arquivos-m são arquivos de texto terminando com a extensão .m, os quais o MATLAB usa
para funções e roteiros. Um roteiro é uma seqüência de comandos que podem ser executados
com freqüência e podem ser colocados em um arquivo-m de modo que os comandos não
precisem ser digitados novamente. Os demos do MATLAB são exemplos desses roteiros. Um
exemplo é o demo chamado house. A maioria das funções do MATLAB é, na verdade,
constituída de arquivos-m que podem ser visualizados escrevendo-se type xxx onde xxx é o
nome da função.
4
Para escrever seus próprios roteiros ou funções, você precisa criar um novo arquivo de texto
com qualquer nome de sua preferência, desde que termine com .m, para permitir que o
MATLAB reconheça o arquivo. Arquivos de texto podem ser criados, editados e salvos com
qualquer editor de texto como emacs, EZ ou vi. Um arquivo de texto é, simplesmente, uma lista
de comandos MATLAB. Quando se digita o nome do arquivo no prompt do MATLAB, o
conteúdo do arquivo será executado. Para que um arquivo-m seja uma função, é preciso iniciar
com a palavra function seguida pelas variáveis de saída entre colchetes, o nome da função e as
variáveis de entrada.
Exemplos
function [C] = mult(A)
r = rank(A);
C = A´∗ A;
Salve os comandos acima em um arquivo de texto nomeado como mult.m . Essa função toma
uma matriz A e retorna o produto matricial C. A variável r não é devolvida por que não foi
incluída como uma variável de saída. Os comandos são seguidos por ; de modo que não serão
impressos na janela do MATLAB toda vez que forem executados. Isso é útil quando se trata de
grandes matrizes. Eis um outro exemplo:
Aqui a função toma a matriz A como entrada e retorna duas matrizes e o posto (rank) como
resultado. O % é usado como comentário. A função verifica se a matriz de entrada é quadrada e
a seguir encontra o posto, os autovalores e os autovetores de uma matriz A. Digitando-se
properties(A) o retorno será somente o primeiro resultado, V, a matriz de autovetores. Para obter
os três resultados, você precisará digitar [V, D, r}=properties(A).
5
Mantendo um diário de seu trabalho
O comando diary (‘file’) instrui o MATLAB a registrar tudo o que é feito na janela do
MATLAB e a salvar os resultados no arquivo denominado ‘file’. Ao digitar diary on ou diary
off você alterna o registro. Arquivos de diários antigos podem ser visualizados por meio de um
editor de texto, ou impresso usando-se lpr em Unix. No MATLAB, eles podem ser visualizados
com o comando type file.
Gráficos
O comando mais simples é plot (x, y) que utiliza dois vetores x e y do mesmo comprimento. Os
pontos ( xi , yi ) serão impressos e conectados por linhas sólidas.
Se não houver vetor x o MATLAB assumirá que x(i)=i. Então plot (y) tem espaçamento
igual no eixo-x: os pontos são (i, y(i)).
O tipo e a cor da linha entre os pontos poderão ser alterados por um terceiro argumento. O
default sem argumento é uma linha sólida negra “-“. Use help plot para muitas opções, entre as
quais indicamos algumas:
MATLAB 5: plot (x, y,´r + :´) imprime em r = vermelho com + para pontos e linha pontilhada
MATLAB 4: plot (x, y,´- -´) é uma linha em traços e plot (x, y,´.´) é uma linha pontilhada
Você pode omitir as linhas e imprimir somente pontos discretos de várias maneiras:
plot (x, y, ´o´) fornece círculos. Outras opções são ´+´ ou ´x´ ou ´∗´
Para dois gráficos nos mesmos eixos use plot (x, y, X, Y). Substitua plot por loglog ou
semilogy ou semilogx para alterar um ou ambos os eixos para a escala de logaritmos.
6
O comando axis ([a b c d]) colocará o gráfico em uma escala que se ajuste ao retângulo a ≤ x ≤
b, c ≤ y ≤ d. Para dar nome ao gráfico ou rotular o eixo-x ou o eixo-y coloque o nome desejado
entre aspas, como nesses exemplos:
O comando hold mantém o gráfico atual quando você imprimir um novo gráfico. Ao
repetir hold, você limpará a tela. Para imprimir, ou salvar a janela de gráfico em um arquivo,
veja help print ou use
print -Pprintername print –d filename