21
Introdução ao MatLab Aula 3 Sistemas Multimédia 3º ano Engenharia Informática Universidade Católica de Angola

matlab-3

Embed Size (px)

DESCRIPTION

matlab

Citation preview

  • Introduo ao MatLabAula 3Sistemas Multimdia3 ano Engenharia InformticaUniversidade Catlica de Angola

  • Vectores e Matrizes

    EXAMPLO: >> a=2:3, b=[a 2*a;a/2 a] a = 2 3 b = 2.0000 3.0000 4.0000 6.0000 1.0000 1.5000 2.0000 3.0000 >> c=[b ; b] c = 2.0000 3.0000 4.0000 6.0000 1.0000 1.5000 2.0000 3.0000 2.0000 3.0000 4.0000 6.0000 1.0000 1.5000 2.0000 3.0000

  • Vectores e Matrizes>> D=c(2:3, 2:3) D = 1.5000 2.0000 3.0000 4.0000 >> who Your variables are: D a b c

  • Vectores e MatrizesExamplo: >> a=magic(4) a= 16.0000 2.0000 3.0000 13.0000 5.0000 11.5000 10.0000 8.0000 9.0000 7.0000 6.0000 12.0000 4.0000 14.5000 15.0000 1.0000 >> sum(a) = sum(a') = [34 34 34 34] >> trace(a) = 34 A(i, j) indexa fila i, coluna j Os ndices comeam a 1 no a zero. >>a(a, 3) = 3 >>a(3, 1) = 39 >>a(:, 3) = 3 10 6 15

  • Vectores e Matrizes>>a(2:3,3:4) = 10 8 2 12>>a([1 4],[1 4]) = 16 13 4 1>>a(8) = 14 >>[1:3] + [4:6] = 5 7 9 A=zeros(2,2); B=(ones(3,2); C = [ [A-1;B+1], [B+3;A-4] ], C = -1 -1 4 4 -1 -1 4 4 2 2 4 4 2 2 -4 -4 2 2 -4 -4

  • Funes elementares de desenhoO MatLab suporta muitos tipos de desenhos para grficos e superfciesMATLAB :Linhas bi-dimensionais (xversus y), a cheio, grfico de barras, queijos, desenhos paramtricos, eixos logartmicos, suprfcies, paramtricos 3D, esfricosPara pr-visualizar alguma dessas potencialidades podemos olhar para as DEMOs

  • Funes elementares de desenhoDesenhos simples 2DX e Y dois vectores com as mesmas dimensesO comando plot(x,y)Abre uma janela grficaDesenha um grfico dos elementos de X contra Y

  • Funes elementares de desenhoDesenhos simples 2D

  • Funes elementares de desenho>>%Exemplo do desenho duma sequncia>>t=-1:0.01:1; >>f=4.5*cos(2*pi*t - pi/6); >>%Instrues para desenho, nomes dos eixos >>plot(t,f),title('Fig.E1.2a'); >>axis([-1,1,-6,6]); >>xlabel('t'); >>ylabel('f(t)'); >>text(-0.6,5,'f(t) = A cos(wt + phi)'); >>grid;

  • Funes elementares de desenhoDesenho do exemplo anterior

  • Funes elementares de desenhoPLOT(X,Y) desenha o vector Y versus o vector XTITLE('text') adiciona texto no topo do desenho actual.XLABEL('text') adiciona texto junto do eixo dos X.YLABEL('text') adiciona texto junto do eixo dos Y. GRID, por si coloca as grelhas principais dos actuais eixosGTEXT('string') ??SUBPLOT(m,n,p),ou SUBPLOT(mnp), divide a janela da figura numa matriz mxn de eixos pequenos.STEM(Y) desenha a sequncia de dados Y como stems do eixo dos x terminando como crculos para os valores de dados.SEMILOGX(...) idntico ao PLOT(...), a menos do uso duma escala logartmica para o eixo dos X. SEMILOGX(...) idntico ao PLOT(...), a menos do uso duma escala logartmica para o eixo dos X.

  • Funes elementares de desenhoPor defeito a escala dos eixos feita automaticamente. Isto pode ser redefinido pelo comando axis. If c = [xmin,xmax,ymin,ymax] for um vector de 4 elementos, ento axis(c) estabelece a escala dos eixos para os limites definidos.Por si s o comando axis disponibiliza a escala actual para os grficos subsequentes. Colocando novamente axis regressa escala automtica. O comando axis('square') assegura o uso da mesma escala para ambos os eixos.Para mais informao ver comando help axis.

  • Funes elementares de desenho>>%Example 1.2>>t=-0.5:0.01:3; >>t0=0 >>u=stepfun(t,t0) >>gprime=3.17*exp(-1.3*t).*cos(10.8*t + 1.15).*u; % NOTE the use of the .* operator. The terms 3.17*exp(-1.3*t), % cos(10.8*t + 1.15), and u are all vectors. We want the % components of these vectors to be multiplied by the corresponding % components of the other vectors, hence the need to use .* rather than *. % The following statements plot the sequence and label the plot >>plot(t,gprime); >>axis([-.5,3,-3,2]); >>title('Fig.E1.2d'); >>xlabel('t in seconds'); >>ylabel('gprime(t)'); >>text(-0.6,5,'f(t) = A cos(wt + phi)'); >>grid;

  • Funes elementares de desenhoDesenho

  • Funes elementares de desenhoDuas formas de fazer mltiplos desenhos num nico grafo

    >>t = 0:.01:2*pi; >>y1 = sin(t); y2=sin(2*t); y3=sin(4*t) >>plot(t,y1,y2,y3) E formando a matriz Y com os valores das funes como colunas.

    >>t = 0:.01:2*pi; >>y = [sin(t)', sin(2*t)', sin(4*t)'] >>plot(t,y) Outra forma o comando hold. O comando hold mantm o ecr actual dos grficos de tal forma que os desenhos subsequentes possam ser sobrepostos. Pode-se redefinir os tipos de linha e de pontos usados por defeito. >>t = 0:.01:2*pi; >>y1 = sin(t); y2=sin(2*t); y3=sin(4*t) >>plot(t,y1,'--',y2,':',y3,'+')

  • Funes elementares de desenhoColors Line Styles y yellow . pointM magenta o circleC cyan x x-markR red + plus G green - solidB blue * starW white : dottedK black -. Dashdot -- dashed Mais tipos de marcas so ; square(s), diamond(d), up-triangle(v), down-triangle(^), left-triangle(), pentagram(p), hexagram(h) Ver tambm help plot para mais cores de linhas e marcas.

  • Funes elementares de desenhoO comando subplot pode ser usado para dividir o ecr de forma a visualizar vrios desenhos simultaneamente. Ver help subplot. Examplo para uso de subplot: >>% Line plot of a chirp >> x=0:0.05:5; >> y=sin(x.^2); >> subplot(2,2,1), plot(x,y); >> % Bar plot of a bell shaped curve >> x = -2.9:0.2:2.9; >> subplot(2,2,2), bar(x,exp(-x.*x)); >> % Stem plot >> x = 0:0.1:4; >> subplot(2,2,3), stem(x,y) >> % Polar plot >> t=0:.01:2*pi; >> subplot(2,2,4), polar(t,abs(sin(2*t).*cos(2*t)));

  • Funes elementares de desenhoExemplo subplot

  • Salvaguarda e CarregamentoQuando se usa o MATLAB, pode desejar guardar os vectores e matrizes que acabou de definir. SAVE, guarda as variveis do espao de trabalho para discoSAVE FILENAME guarda todas as variveis do espao de trabalho para um ficheiro binrio "MAT designado por FILENAME.mat. Os dados podem ser recuperados com LOAD. Se FILENAME no tiver extenso, assumido o .mat . SAVE, sem mais nada cria o ficheiro binrio "MAT" designado'matlab.mat'. D um erro se no consguir escrever em 'matlab.mat'. Para guardar o ficheiro na rea de trabalho escreva >>save filename SAVE FILENAME X gurada apenas X. SAVE FILENAME X Y Z guarda X, Y, e Z.

  • Salvaguarda e CarregamentoLOAD carrega as variveis do espao de trabalho do disco.LOAD FILENAME carrega todas as variveis dum ficheiro dado o nome de ficheiro absoluto ou relativoSe FILENAME no tiver extenso LOAD verifica FILENAME e FILENAME.mat e trata-a como uma "MAT-filebinria. Se FILENAME tiver uma extenso diferente de.mat, tratada como ASCII.LOAD, por si s usa uma "MAT-file" designada por 'matlab.mat'. Devolve erro se 'matlab.mat' no existir. LOAD FILENAME X carrega s o X. LOAD FILENAME X Y Z ... Carrega as varveis especificadas. >>load x, y, z Ver help save e help load para mais informao

  • Ficheiros MOs ficheiros M so macros de comandos do MATLAB que so armazendas como ficheiros de texto com extenso "m", isto nomeficheiro.m. Um ficheiro M tanto pode ser uma funo com variveis de E/S ou uma lista de comandos.