Você está na página 1de 23

Curso Bsico de MATLAB

1. Fundamentos

( Captulo 2 - USERS'S GUIDE )

O MATLAB trabalha com um unico tipo de dado, que a matriz retangular de nmeros reais ou complexos. Em particular estas matrizes podem ser somente uma coluna ou uma linha, ou seja, vetores. 1.1 Entrando matrizes simples As matrizes so geradas por uma das seguintes formas: * Digitando uma lista explcita de elementos. * Gerando atravs de comandos internos e funes. * Carregando partir de M-files (MATLAB files). * Carregando de arquivos de dados externos. No necessrio dimensionar as matrizes. Todo espao de memria do computador ser usado automaticamente. A lista explcita pode ser: A = [ 1 2 3; 4 5 6; 7 8 9 ] que produz A = 1 2 3 4 5 6 7 8 9 tambm poderia ser digitado: A = [ 1 2 3 4 5 6 7 8 9 ] Ou poderia estar em um arquivo matriz.m, ento executando matriz a matriz A seria carregada. 1.2 Elementos de uma matriz Se x = [ -1.3 10 1500.5 ] ento x(1) = -1.3, x(2)=10 e x(3)=1500.6

Executando x(5)=2001 produz x = [ -1.3 10 1500.5 0 2001 ] Se r = [ 10 11 12 ], fazendo A = [A ; r ] produz A = 1 2 3 4 5 6 7 8 9 10 11 12 Se r = [10; 11; 12], fazendo A = [A r ] produz A = 1 2 3 10

4 5 6 11 7 8 9 12 Se A = [ 1 2 3 4] ento A = A(1:2,1) produz (linhas de 1 at 2 da coluna 1) 1 3 1.3 Comandos e Variveis Os comandos em MATLAB tm o seguinte formto geral: varivel = expresso ou simplesmente, expresso A expresso avaliada, mostrada na tela e atribuda varivel, que sempre uma matriz. Quando no for digitado o nome da varivel ser atribuda varivel interna 'ans'. Por exemplo, 100/30 produz ans = 3.3333 Para evitar que uma expresso seja mostrada na tela sempre que for avaliada, acrescente ao final da expresso ';' (ponto-e-vrgula). Quando o comando no couber em uma linha, basta colocar '...' (tres pontos) e continuar na outra linha. Exemplo: s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - ... 1/6 - 1/7; Nomes de variveis e funes so formados por letra seguido de at 18 letras ou nmeros. Letras minsculas so diferentes de letras maisculas, de modo que a varivel 'a' diferente da varivel 'A'. 1.4 Obtendo informaes do espao de trabalho O comando who mostra quais variveis foram definidas durante a sesso. O comando whos mostra as seguintes informaes: Name A ans Size 3 by 39 1 by 11 Total No No Complex Sparsity Full Full

Grand Total is (10*8) = 80 bytes A varivel interna eps contem a tolerncia para funes que calculam singularidade e rank. Por default, igual 2.22e-16, mas pode ser modificada para outro valor qualquer.

1.5 Nmeros e expresses aritmticas Os nmeros so escritos na conveno cientfica usual, ou seja, 3 -99 0.00011.6E-20 10.0e+7

Os operadores aritmticos so: + * / \(divisao esquerda) ^(exponeciao)

A constante pi j est definida internamente. EXiste uma representao especial para infinito, de modo que a diviso por zero no aborta a execuo do programa, mas produz uma advertncia e gera um inf. Exemplo: s = 1/0 produz Diviso por zero s = inf Em operaes do tipo 0/0 e inf/inf produz-se o seguinte resultado NaN (Not a Number): s = 0/0 produz s = NaN

1.6 Nmeros e matrizes complexas Nmeros complexos so representados com as variveis i ou j. Exemplo: z = 3+4*i ou z=3+4*j ou ento w=r*exp(i*theta) Matrizes complexas podem ser escritas como: A = [ 1 2; 3 4] + i*[5 6; 7 8] ou A = [1+5*i 2+6*i; 3+7*i 4+8*i ]
(No tem espao em branco entre os digitos de um numero)

1.7 Formato de Sada O comando format permite mudar a forma como os nmeros de uma matriz so mostrados na tela. (No alterado a representao interna, que est sempre em preciso dupla). Se todos os elementos da matriz so inteiros exatos no mostrado nenhuma casa decimal. Os formatos possveis para x = [4/3 1.2345e-6] so:

format format format format

short 1.3333 0.0000 short e 1.3333E+000 1.2345E-006 long 1.333333333333333 1.234500000000000E-006 hex 3FF55...553 3EB0....4ED

format +

++

No formato + os nmeros positivos so mostrados como '+', os nmeros negativos como '-' e os zeros como ' ' (branco). 1.8 HELP Facility Para obter um help on-line digite: help Para obter help em um tpico especfico digite: help tpico Para obter help sobre o help digite: help help 1.9 Saindo e salvando o espao de trabalho Para sair do MATLAB digite quit ou exit. Neste caso para salvar todas as variveis do espao de trabalho, digite save e ser gerado um arquivo matlab.dat, que pode ser recuperado na proxima seo com o comando load. Para salvar em (ou carregar de) outro arquivo digite save arquivo (ou load arquivo). Para salvar apenas a varivel X no arquivo temp digite save temp X. 2. Operaes com matrizes. 2.1 Transposio. A = [ 1 2 ; 3 4 ] B = A' produz A = 1 3 2 4 B = 1 2 3 4

2.2 Adio e Subtrao (+,-) C = A + B produz C = 2 5 5 8

Estas operaes tambm podem ser aplicadas no caso de escalares, e neste caso o escalar somado ou subtrado de cada elemento da matriz. C = 2 + A produz C = 3 5 4 6

2.3 Multiplicao de Matrizes (*) S possvel quando as dimenses internas possvel multiplicar uma matriz por um escalar. 3.14 * A produz ans = -3.14 0 6.28 2.4 Diviso de Matrizes (/,\) X = A\B a soluo de A * X = B obtido por inv(A) * B X = B/A a soluo de X * A = B obtido por B * inv(A) 2.5 Potenciao de Matrizes (^) A^p onde A uma matriz quadrada e p um escalar. Se p > 1 e inteiro, ento equivalente uma multiplicao convencional. Caso contrrio, calculado por [V,D] = eig(A) e ento A^p = V * D.^p/V 2.6 Funes elementares sobre matrizes expm(A) logm(A) sqrtm(A) poly det trace kron 3 Operaes com Array As operaes com array se referem operao de elemento elemento, e no matriz como um todo. Todos os operadores que forem precedidos por um ponto (.) representam operao com array. 3.1 Soma e subtrao de array No h diferena para operaes com matrizes. 3.2 Multiplicao e diviso de array. .* a multiplicao elemento elemento. ./ .\ a diviso de elemento elemento. 3.3 Potenciao de arrays. .^ a potenciao elemento elemento. eA log A polinomio caracteristico determinante trao (soma dos elementos da diagonal) delta de Kronecker forem iguais. Tambm

3.4 Operaes relacionais. Os operadores relacionais so aplicados na comparao de duas matrizes de igual dimenso. A comparao feita entre dois pares correspondentes de elementos, resultando 1 (verdadeiro) ou 0 (falso). Os operadores so: < <= > >= == ~= menor que menor ou igual que maior que maior ou igual que igual diferente de

A comparao produz uma matriz de 0 e 1, que pode ser melhor visualizada usando o format +. 3.5 Operadores Logicos Os operadores lgicos so: & | ~ And Or Not

Estes operadores trabalham elementos elemento das matrizes. Elementos no nulos so considerados verdadeiros e 0 considerado falso. Eles sempre retornam 1 quando for verdadeiro e 0 quando for falso. Outras funes lgicas so: any all find exist isnan finitecheca isinf isempty isstr issparse isglobal algum elemento do array por coluna verdadeiro. todos elementos do array so verdadeiros. indices do array que so verdadeiros. checa se varivel existe. detecta NAN (not a number). valores finitos. detecta infinitos. detecta matrizes vazias. detecta variavel tipo string. detecta matrizes esparsas. detecta variveis globais.

3.6 Funes Matematicas Elementares Existe um conjunto de funes que so aplicadas em cada elemento de um array. As funes trigonomtricas: sin, cos, tan, asin, acos, atan ... e funes elementares comuns: abs, angle, sqrt, real, imag, round, fix, floor, ceil, sign, ...

3.7 Funes matemticas especiais. bessel gamma rat erf inverf

aproximao racional. error function

4. Manipulao de Matrizes e Vetores. 4.1 Gerao de Vetores. X = inicio:incremento:fim Exemplos: x = 0:pi/4:pi y = 6:-1:1 z = 1:5 produzx= 0.0 0.78 1.57 2.35 3.14 produzy= 6 5 4 3 2 1 produzz= 1 2 3 4 5 (incremento foi omitido)

Exerccio:

x = (0.0:0.2:3.0)'; y = exp(-x).* sin(x); [ x y ] 0 0.2 : 0.16 : -1.04 1.04 3.16 100 1000 10000 100000

produzans = 0

k=linspace(-pi,pi,4) k=logspace(1,6,6) 4.2 Subscritos

produzk = -3.16 produzk = 1 10

Elementos individuais de uma matriz podem ser accessados atravs de subscritos (indices) entre parenteses. Exemplo: Se A = 1 2 3 4 5 6 B(1:5,3) a submatriz 5x1 B(1:5,7:10) a submatriz 5x4 B(:,3) a submatriz com todas terceira coluna. B(1:5,:) a submatriz com ento A(2,3) produz 6 das 5 primeiras linhas e a terceira coluna de B. das 5 primeiras linhas e as colunas de 7 at 10. as linhas da terceira coluna, ou seja, a as 5 primeiras linhas e todas as colunas de B.

Exerccio: B(:,[3 5 10]) = A(:,1:3) copia as 3 colunas de A nas colunas 3, 5 e 10 de B. A(:,n:-1:1) v=2:2:6; w=[3 1 4 1 6]; reverte as colunas de A.

A(v,w) A=[1 2; 3 4; 5 6] b=A(:) produz A = 1 2 3 4 5 6 b = 1 2 3 4 5 6 15 16

A(:) = 11:16

produzA =

11

14 12 13

As dimensoes de A(3x2) j foram definidas antes. 4.3 Subscritos com vetores 0-1. L vetor de dimensoes m de 0-1 A matriz de dimenso mxn A(L,:)so linhas de A onde o elemento L no for nulo. Exerccio: explicar L = X(:,3) > 100; compara cada elemento da coluna 3 com 100 e devolve 1 se verdadeiro ou 0 caso contrario. X = X(L,:); coloca em X as linhas cuja terceira coluna seja maior que 100. 4.4 Matrizes Vazias X = [] x tem dimenso 0x0. No ocupa espao de memria. Estas matrizes existem no workspace e podem ser testados com a funo exist. til para remover linhas e colunas de uma matriz. Exemplo: A(:,[2 4])=[] deleta as colunas 2 e 4 da matriz A. 4.5 Matrizes especiais. (utilizadas em Algebra LInear). compan diag hadamard haenkel hilb zeros ones rand eye matriz companheira matriz diagonal

matriz matriz matriz matriz

de zeros. de uns. randmica identidade

Exerccio: ones(3), ones([1 2]), ones([ 1 2; 3 4])

eye(5) rand(4) 4.6 Construindo matrizes maiores. C = [A eye(4); ones(A) A^2] produz C = A ones(A) eye(4) A^2

4.7 Manipulao de Matrizes. rot90 rotacao da matriz fliplrreflete matriz da esquerda para a direita. flipudreflete matriz de cima para baixo. diag extrai ou cria a matriz diagonal. tril triangular inferior. triu triangular superior. reshape remodela uma matriz. size retorna um vetor com dois elementos [linhas colunas] lengthse um vetor ento retorna o tamanho. 5 Anlise de Dados As capacidades bsicas de anlise de dados aplicadas matrizes so: max valor mximo min valor mnimo mean valor mdio medianvalor mediano std desvio padro sort ordenao sum soma dos elementos prod produto dos elementos cumsumsoma cumulativa dos elementos cumprod produto cumulativo dos elementos diff derivada aproximada hist histograma corrcoef coeficientes de correlao cov matriz de covarincia polyfit ajuste de curvas e regresso linear. 6. Funes de Matrizes Funes de Matrizes so que tem como argumento matrizes e retornam matrizes como resultado de alguma operao. Algumas destas funes esto baseadas no LINPACK e EISPACK. Esto divididas em quatro grupos: Fatorao Triangular Fatorao Ortogonal Decomposio em Autovalores

Decomposio em Autovetores 6.1 Fatorao Triangular (Fatorao LU) Decompor uma matriz quadrada como o produto de duas matrizes (uma permutao de uma trinagular inferior e outra uma matriz triangular superior). Estas matrizes so usadas como base para a soluo de sistemas de equaes lineares. Exemplo: [L,U] = lu(A) X = inv(A) X = inv(U) * inv(L) onde A=L*U det(A) = det(L) * det(U)

Dado o sistema Ax= b ento x = A\b. Usando a decomposio LU o mesmo sistema linear de equaes resolvido como: y = L\b; x =U\y 6.2 Fatorao Ortogonal (Fatorao QR) Usado para fatorar tanto matrizes quadradas como retangulares, expresso como o produto de uma matriz ortogonal e uma matriz triangular superior. Exemplo: [Q,R] = qr(A) onde Q ortogonal e R trinagular superior. A fatorao QR usada onde o nmero de equaes maior que o nmero de variaveis. Para o sistema Ax = b a soluo obtida como: y = Q' * b; x = R\y 6.3 Fatorao do Valor Singular. Exemplo: [U,S,V] = * S * V' onde as matrizes Esta decomposio norma euclideana e nmero 6.4 Autovalores Se A uma matriz nxn, os n nmeros L que satisfazem Ax=Lx so os autovalores de A. Exemplo: [X,D] = eig(A) onde X so os autovetores e D os autovalores tal que A*X = X*D. A forma de Hessenberg, hess(A), e a forma de Schur, resultados intermedirios obtidos no clculo dos autovalores. 6.5 Rank e Condio. cond norm rank nmero de condio em 2-norm. 1-norm,2-norm,F-norm,oo-norm rank de uma matriz schur(A), so svd(A) onde os tres fatores de decomposio so A = U U e V so ortogonais e S uma matriz diagonal. usada em muitas outras funes: pseudoinversas, rank, de condio.

rcond

estimativa da condio.

7 Polinmios e Processamento de Sinal 8. Funo FUNO Uma funo FUNO uma funo que pode ser aplicada outra funo matemtica. Uma funo matemtica pode ser representada em MATLAB, por exemplo: fora(x) = sin(x2) + cos2(x) escrita em MATLAB (dentro de um M-file) como: function y = forca(x) y = sin(x .^ 2) + cos(x) .^ 2; As funes FUNO so: Integrao Numrica: quad Regra de Simpson quad8 Regra de Newton quad('forca',0,1)

OtimizaO e Equaes No-Lineares: fmin minimo de uma funo de 1 varivel. fmins minimo de uma funo de vrias variveis. fsolvesoluo de um sistema de equaes no-lineares. fzero zero de uma funo de uma varivel. Equaes Diferenciais: ode23 Runge-Kutta de segunda/terceira ordem. ode45 Runge-Kutta-Fehlberg de quarta/quinta ordem. 9. Grficos Podem ser criados os seguintes tipos de grficos: plot grafico x-y linear loglogescala logaritmica em X e Y semilogx escala logaritmica em X semilogy escala logartmica em Y polar bar grfico de barras 9.2 Forma Bsica Se Y um vetor, ento plot(y) produz um grfico dos elementos versus o ndice dos elementos de Y. Exemplo: Y = [ 1 plot(Y) 2 5 7 10];

As escalas so feitas automaticamente.

title('titulo') xlabel('tempo') ylabel('forca') text(5,10,'potencia') (5,10) gtext('potencia') grid

coloca

palavra

'potencia'

nas

coordenadas

coloca 'potencia' posicionando com o mouse.

plot(X,Y,'+') traa um grfico do vetor X versus o vetor Y usando marcas '+' nos pontos do grfico. Tipo de Linha slidatracejada -pontilhada : mista -. Tipo de Marca ponto . circulo o marca-x x sinal + + sinal * * As marcas podem ser combinadas com cores para traar o grfico. Exemplo: plot(x,Y,'c+') produz um grfico na cor cyan com marcas '+'. Cores amarelo magenta cyan vermelho verde azul brancow preto y m c r g b k

9.3 Mltiplos Grficos. [1] Y uma matriz e X um vetor, ento plot(X,Y) produz uma curva para cada coluna de Y e o vetor X com tipo de linha diferente. [2] X matriz e Y um vetor, ento so aplicadas as mesmas regras de [1]. [3] Se X e Y so ambas matrizes do mesmo tamanho, ento plot(X,Y) produz uma curva com cada coluna de X versos outra coluna de Y. [4] Se X no especificado , ento so plotados as colunas de Y versos o ndice da linha. 10. Controle de Fluxo 10.1 Comando FOR

for i=1:n, x(i)=0, end for i=1:n for j=1:n A(i,j) = 1/(i+j-1); end end A Seja t = 0 1 3 5 -1

n = max(size(t)); for j=1:n for i=1:n A(i,j) = t(i)^(n-j); end end Variao mais eficiente que a anterior: A(:,n) = ones(n,1); Matriz com n linhas e 1 coluna (ultima coluna OK) for j = n-1:-1:1 Gera as demais colunas. A(:,j) = t .* A(:,j+1); Coluna anterior (j+1). end O comando for tem a seguinte forma geral: for v = expresso comandos end 10.2 Comando WHILE n = 1; while prod(1:n) < 1.e100, n=n+1; end n O comando while tem a seguinte forma geral: while expresso comandos end 10.3 IF e BREAK if n < 0 A = negative(n)

elseif rem(n,2)==0 A = even(n) else A = odd(n) end %Problema '3n+1' da teoria dos numeros while 1 n = input('Entre n, negativo sai. '); if n <= 0, break, end while n > 1 if rem(n,2)==0 n=n/2 else n=3*n+1 end; end end 11. M-Files: Scripts e Funes O MATLAB capaz de executar comandos que estejam armazenados em arquivos, chamados M-Files. (Estes arquivos tm extenso .m) Um M-File pode conter todos os comandos normais do MATLAB e chamados scripts quando contem sequencias de comandos MATLAB, e so chamados arquivos de funes quando contem a definio de uma nova funo. Os M-files so arquivos ASCII comuns e so criados com qualquer editor de texto. 11.1 Arquivos Script Os scripts so executados quando se digite o nome do M-File correspondente. As variveis declaradas dentro de um script so sempre globais e as variveis do workspace so acessveis diretamente pelo script. Exemplo: % Calcular nmeros de Fibonacci f = [ 1 1]; i=1; while f(i) + f(i+1) < 1000 f(i+2) = f(i) + f(i+1); i=i+1; end plot(f) 11.2 Arquivos de Funes um M-file cuja primeira palavra no arquivo function. Ao contrrio de um script, um arquivo de funo pode receber parmetros e as variveis usadas dentro do arquivo so apenas locais. Exemplo: function y=mean(x) [m,n] = size(x);

if m==1 m=n; end y = sum(x)/m; Eemplo: function [mean,stdev] = stat(x) [m,n] = size(x); if m==1 m=n; end mean = sum(x)/m; stdev = sqrt(sum(x .^ 2)/m - mean .^ 2); Observaes: * Quando um arquivo de funo chamado pela primeira vez, os comandos so compilados e colocados em memria, de modo que esto sempre prontos para executar. E permanecem assim enquanto durar a sesso MATLAB. * O comando what mostra todos os M-files que esto disponveis no diretrio corrente. O comando type mostra o conteudo do arquivo na tela. 11.3 Dicas de Memria e Velocidade * Sempre que possvel vetorizar as operaes. Exemplo: % gera 1000 numeros (gasta 15 segundos) i=0; for t=0:0.01:10 i=i+1; y(i)=sin(t); end % Forma mais eficiente (gasta 0.6 segundos) t = 0:0.01:10; y = sin(t); *Prealocar vetores de saida. Exemplo: y = zeros(1,100); for i=1:100 y(i) = det(x^i); end 12 Arquivos 12.1 Manipulao de Arquiivos em Disco dir Mostra o diretorio corrente. type Lista um arquivo qualquer. Se for M-file no precisa '.m' deleteDeleta um arquivo especificado. chdir Muda de diretorio. diary Coloca os comandos de uma sesso MATLAB em um arquivo de

texto. (Por default gera um arquivo de nome diary na area do usuario). Exemplo: diary aula1 diary on comandos MATLAB diary off

12.2 Rodando programas externos. Use a exclamao, !, seguido de um comando UNIX qualquer. Exemplos: !lp arquivo.m Imprime o arquivo.m !matrizes Executa o programa matrizes 12.3 Importando e exportando dados. * O comando diary pode ser usado para salvar pequenas matrizes, que podem ser recuperadas com um editor de texto qualquer. * Os comandos save/load podem matrizes. Exemplo: A = rand(4,3); save temp.dat A /ascii load temp.dat A ser usados para salvar/recuperar grandes

* possvel escrever um programa em C ou FORTRAN para ler arquivos gerados com o comando load.

MATLAB Exerccios 1 - Fundamentos 1. Digite a seguinte matriz: matriz A quadrada (3x3) cujo elemento (i,j) igual i+j. 2. Entre o vetor x = [ -1.3 sqrt(3) (1+2+3)*4/5 ] 3. Calcule a seguinte srie at 12 termos: 1 - 1/2 + 1/3 - 1/4 + ... (use tres pontos) 4. Execute 1/0, 0/0, NaN/inf, inf/inf. O que acontece ? 5. Imprima x = [ 4/3 possveis. 6. Chame o comando disponveis. 1.2345e-6 ] para todos os formats help e veja quais tpicos esto

7. O que faz os comandos who e whos ? 8. Salve todas as matrizes em memria para um arquivo 'cap1.mat'. Em seguida limpe a memoria com o comando clear e execute um load. 9. O que acontece quando se executa o exerccio 2 com ';' no final ? 2 - Operaes com Matrizes 1. Para a matriz A do exerccio 1 do captulo 1 execute: B = A', C = A+B, D=A-B, E=A*A' 2. Monte um exemplo onde X=A\B e Y=C\D faam sentido. Ou seja, criar as matrizes A,B,C e D.

3. Usando a matriz A do exerccio 1, calcule A^p para p inteiro e fracionario. 4. Com a ajuda do Help veja o que faz as funes da seo 2.6. 3 - Operaes com Array 1. Calcule o produto interno entre os vetores x = (1 10 -5) e y=(-10 -1 2). 2. Qual a diferena entre x ./ y vetores x e y acima ? e x .\ y para os

3. Gere duas matrizes A=magic(3) e B=rand(3) (O que faz magic ?) Efetue as comparaes entre A e B: A <= B, A ~= B. Atribua o resultado uma matriz C. Examine C com format +. 4. Experimente A < 10 para a matriz A acima. Como feita esta comparao ? 5. O que acontece com all(A < 10) e any(A < 10) ? Explique. 6. Consulte o manual do MATLAB e veja como so usadas as funes da seo 3.6 4 - Manipulao de Matrizes e Vetores 1. Execute o exerccio da seo 4.1. 2. Execute o exerccio da seo 4.2. 3. Execute o exerccio da seo 4.3. 4. O que produz os seguintes comandos: ones(3), ones([1 2]), ones([1 2; rand(4) ? 3 4]), eye(5),

5. Execute C = [A eye(4); ones(A) A^2] onde A=magic(4). 6. Entre a seguinte matriz: 1 2 3 4 5 6 7 8 9 10 11 12 ento execute os seguintes comandos sobre esta matriz: rot90, fliplr, flipud. 7. Para a mesma matriz acima execute os comandos: diag, tril, triu. 8. Como determinar o tamanho de uma matriz e um vetor com uma funo MATLAB ? 6 - Funes de Matrizes 1. Crie uma matriz A no singular e aplique a decomposio lu para resolver o sistema Ax=b. Crie o vetor b convenientemente. Execute diretamente x=A\b. Qual o resultado ? 2. Repita o exerccio fatorao ortogonal QR. anterior para resolver com a

3. Obtenha os autovalores e autovetores da matriz A. 4. Para que serve as funes: cond, norm, rank, rcond ? 8 - Funo FUNO 1. Edite exemplo. um arquivo forca.m com a funo dada no

2. Faa uma integrao numrica usando o comando quad e quad8. 3. Calcule o mnimo desta funo no intervalo entre 0 e

1. 4. Calcule o zero desta funo no intervalo entre 0 e 1. 5. Veja no manual do MATLAB como efetuar a soluo de equaes diferenciais. 9 - Grficos 1. Gere o grfico sugerido na seo 9.2. ttulo, legendas nos eixos X e Y e grid. 2. Repita o exerccio anterior, grfico do cosseno sobre o seno. mas Acrescente o

acrescentando

3. Repita o exerccio 2, substituido as linhas contnuas por marcas '+' para o seno e '*' para o cosseno. Experimente tambm com as cores vermelho e azul. 4. Subdivida a tela em duas regies subplot. Em uma regio plote o seno cosseno. Restaure o modo default. com o comando e em outra o

5. Com a ajuda dos comandos axis e hold modifique as escalas em x e y e veja o efeito. 6. Experimente imprimir o grafico do seno com o comando print. 10 - Controle de Fluxo 1. Executar e explicar o trecho de programa MATLAB da seo 10.1. 2. Idem ao anterior para a seo 10.2. 3. Execute e explique o programa da teoria de nmeros da seo 10.3

11 - M-files, scripts e Funes 1. Criar um arquivo fibno.m com o cdigo do exemplo da seo 11.1 Tente executar fibno(5). 2. Executar os exemplos da seo 11.2 3. Experimente fibno.m. os comandos what e type no arquivo

4. Execute novamente o exerccio 2, mas executando antes o comando echo. 5. Escreva um pequeno trecho de cdigo MATLAB que use os comandos input e pause. Lista Suplementar de Exercicios 1. Calcule a transposta de A=[ 1+5*i 2+6*i ; 2+7*i 4+8*i ]. A resposta est correta ? Explique. 2. Experimente o executar A .' e tambm conj(A). 3. Como calcular a potencia cbica do vetor [ 1 5 3 ] ? E o que produz 2 .^ [ 1 5 3 ] ? 4. Explique este trecho de cdigo MATLAB: Y = [5 8 15 1 ]; i = find(Y > 8.0); Y(i) = 10*ones(i) 5. Dado X = [1 100; NaN 0 ] execute X==NaN. O resultado est correto ? Experimente isnan(X). E agora ? 6. Crie uma matriz B (4x4) e experimente A(:,[2 4])=[]. Como seria eliminar a linha 3 desta matriz ? 7. Gerar uma matriz complexa 4x3 de nmeros randmicos

com distribuio normal. 8. Veja no help como usar o coamndo transformar uma matriz 3x4 em uma 2x6. reshape para

9. Consulte o manual do MATLAB e veja como a funo polyfit pode ser usada para aproximar um conjunto de dados randmicos por um polinmio de grau 3. Trace o grafico dos dados junto com o do polinmio. 10. Crie um M-file com a funo 1 1 f(x) = ----------------- + --------------2 2 (x-.3) + 0.01 (x - .9) + 0.04 6

Plote a funo no intervalo [-1,2] com intervalo 0.01. Obtenha a integral numrica entre 0 e 1 com diversas tolerncias e a opo trace. 11. O comando mesh permite desenhar uma superfcie 3D partir dos elementos de uma matriz. Estude como o programa abaixo realiza isto na matriz Z. x=-8:.5:8; y=x'; X=ones(y)*x; Y=y*ones(x); R=sqrt(X .^ 2 + Y .^ 2) + eps; Z=sin(R) ./ R; mesh(Z) 12. Compare os tempos de execuo programa apresentados na seo 11.6. dos trechos de

13. O coamndo pack pode auxiliar na execuo do programa MATLAB quando a memria do computador ficar cheia. Veja

isto no manual do MATLAB. 14. Use a matriz vazia [] para deletar as linhas 1 e 3 da matriz A = magic(4).

Você também pode gostar