Escolar Documentos
Profissional Documentos
Cultura Documentos
Matlab
Matlab
So necessrios alguns comandos bsicos 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 so comandos curtos e de alto nvel, pois o MATLAB trabalha constantemente com matrizes. Acredito que vocs vo gostar do poder que esse software fornece ao usurio para trabalhar com lgebra linear por meio de vrias instrues resumidas: criar E E = eye(3) criar u u = E(:,1) mudar E E(3,1) = 5 multiplicar Eu =E u
A palavra eye representa a matriz identidade. A submatriz u = E(:,1) seleciona a coluna 1. A instruo E(3,1) = 5 reconfigura a entrada (3,1) para 5. O comando E u multiplica as matrizes E e u. Todos esses comandos se repetem em nossa lista a seguir. Veja um exemplo de inverso de uma matriz para solucionar um sistema linear: criar A A = ones(3)+ eye(3) criar b b=A(:,3) inverter A C = inv(A) resolver Ax = b x = A\b ou x=C b
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 fraes, 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 eliminao gaussiana se A for quadrado e nunca calcula a matriz inversa. Quando o lado direito b se iguala terceira coluna de A, a soluo 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 comentrios. O smbolo do comentrio %: % % Os smbolos a e A so diferentes: o MATLAB diferencia maisculas de minsculas. Digite help slash para uma descrio de como usar o smbolo de barra invertida. A palavra help pode ser seguida de um smbolo do MATLAB ou do nome do comando ou do nome do arquivo-M.
Obs.: O nome do comando est em letra maiscula na descrio fornecida pela Ajuda, mas deve ser digitado em letra minscula ao usar o programa. E a barra invertida A\b diferente quando A no for quadrado. % % Para exibir todos os 16 dgitos, digite format long. O format short normal fornece 4 dgitos aps o decimal. Um ponto e vrgula aps um comando evita a exibio do resultado. A = ones(3); no exibir a matriz identidade 3 3. Use o cursor seta para cima para voltar aos comandos anteriores.
coluna toeplitz e ones fornece a matriz simtrica com diagonal-constante com como primeira linha fornece uma matriz n x n de ums como primeira coluna
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 aleatrias entre 0 e 1 (distribuio uniforme) randn(n) fornece matriz n x n com entradas normalmente distribudas (mdia 0 e varincia 1) one s (m, n) zeros (m,n) rand(m,n) fornecem matrizes m x n fornecem matrizes com o mesmo formato de A ones(size (A)) zeros (size (A)) eye(size A))
Exemplos
E = eye(4);E(2,1) = -3 cria uma matriz elementar de eliminao 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 permutao Observe que triu(A) + tril(A) diag(diag(A)) se iguala a A
Criando arquivos-M
Os arquivos-m so arquivos de texto terminando com a extenso .m, os quais o MATLAB usa para funes e roteiros. Um roteiro uma seqncia de comandos que podem ser executados com freqncia e podem ser colocados em um a rquivo-m de modo que os comandos no precisem ser digitados novamente. Os demos do MATLAB so exemplos desses roteiros. Um exemplo o demo chamado house. A maioria das funes do MATLAB , na verdade, constituda de arquivos-m que podem ser visualizados escrevendo-se type xxx onde xxx o nome da funo.
Para escrever seus prprios roteiros ou funes, voc precisa criar um novo arquivo de texto com qualquer nome de sua preferncia, desde que termine com .m, para permitir que o MATLAB reconhea 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 contedo do arquivo ser executado. Para que um arquivo-m seja uma funo, preciso iniciar com a palavra function seguida pelas variveis de sada entre colchetes, o nome da funo e as variveis 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 funo toma uma matriz A e retorna o produto matricial C. A varivel r no devolvida por que no foi includa como uma varivel de sada. Os comandos so seguidos por ; de modo que no sero impressos na janela do MATLAB toda vez que forem executados. Isso til quando se trata de grandes matrizes. Eis um outro exemplo: function [V, D, r] = properties (A) % Esta funo encontra rank, eigenvalues e eigenvectors de A [m,n] =size(A); se m = = n [V,D] =eig(A); r=rank(A); else disp (Error: A matriz deve ser quadrada); end Aqui a funo toma a matriz A como entrada e retorna duas matrizes e o posto (rank ) como resultado. O % usado como comentrio. A funo 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 trs resultados, voc precisar digitar [V, D, r}=properties(A).
Grficos
O comando mais simples plot (x, y) que utiliza dois vetores x e y do mesmo comprimento. Os pontos ( xi , yi ) sero impressos e conectados por linhas slidas. Se no houver vetor x o MATLAB assumir que x(i)=i. Ento plot (y) tem espaamento igual no eixo-x: os pontos so (i, y(i)). O tipo e a cor da linha entre os pontos podero ser alterados por um terceiro argumento. O default sem argumento uma linha slida negra -. Use help plot para muitas opes, 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 traos e plot (x, y,.) uma linha pontilhada Voc pode omitir as linhas e imprimir somente pontos discretos de vrias maneiras: plot (x, y, o) fornece crculos. Outras opes so + ou x ou Para dois grficos 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.
O comando axis ([a b c d ]) colocar o grfico em uma escala que se ajuste ao retngulo a x b, c y d. Para dar nome ao grfico ou rotular o eixo-x ou o eixo-y coloque o nome desejado entre aspas, como nesses exemplos: title (altura do satlite) xlabel (tempo em segundos) ylabel (altura em metros)
O comando hold mantm o grfico atual quando voc imprimir um novo grfico. Ao repetir hold, voc limpar a tela. Para imprimir, ou salvar a janela de grfico em um arquivo, veja help print ou use print -Pprintername print d filename