Anda di halaman 1dari 5

Curso de MatLab - Aplicaes em Controle e Servomec - Prof Pinheiro - 2007 Cap 01 ___________________________________________________________ ASSOCIAO EDUCACIONAL DOM BOSCO FACULDADE

E DE ENGENHARIA

ENGENHARIA ELTRICA

CURSO DE MATLAB E SIMULINK APLICAO EM CONTROLE E SERVO MECANISMOS

Trabalhos de Laboratrio Captulo I


ASSUNTO
Introduo ao MATLAB, operaes com vetores, matrizes, grficos de funes temporais com o MATLAB

OBJETIVOS
Aprender a manipular na janela de comando do MATLAB definindo variveis escalares, vetores e matrizes; Aprender o uso da funo PLOT e suas particularidades.
Observao Esta apostila serve de guia para o aluno durante a aula de laboratrio. A presena do aluno fundamental, pois muitas informaes importantes sero passadas pelo professor durante a aula, bem como, cada aluno estar sendo avaliado durante as aulas e este grau vai complementar o grau da 2 BI e da 4 BI.

Prof. Geraldo Magela Pinheiro Gomes Dr ENSAE Frana - 1991

2007

Curso de MatLab - Aplicaes em Controle e Servomec - Prof Pinheiro - 2007 Cap 01

CAPITULO I
FUNDAMENTOS TERICOS Operao com Vetores Iniciar o MATLAB e na janela de COMANDO criar um vetor, colocando os elementos separados por espao ou virgulas. O comando a seguir cria um simples vetor com 10 elementos, na varivel v.
v = [1 2 3 4 5 6 8 7 6 5 ] v = 1 2 3 4 % v um vetor linha [1 x 10] 6 8 7 6 5

A varivel v foi criada como um vetor linha. A varivel v armazenada na rea de trabalho (workspace). Querendo transforma-lo em um vetor coluna basta comandar:
vt=v ' vt = 1 2 3 4 6 8 7 6 5 % comando para transpor vetores e matrizes % vt o vetor v transposto, ou seja, vetor coluna [10 x 1]

Uma outra forma simples de criar um vetor gerando uma seqncia fornecendo o valor inicial, o espaamento (passo) e o valor final, separando-os por dois pontos.
t=0:0.2:5 % aqui est sendo criado t = Columns 1 through 7 0 0.2000 0.4000 Columns 8 through 14 1.4000 1.6000 1.8000 Columns 15 through 21 2.8000 3.0000 3.2000 Columns 22 through 26 4.2000 4.4000 4.6000
um vetor de tempo discreto (intervalos de 0,1 seg)

0.6000 2.0000 3.4000 4.8000

0.8000 2.2000 3.6000 5.0000

1.0000 2.4000 3.8000

1.2000 2.6000 4.0000

Observe que o vetor composto de uma seqncia de nmeros que inicia em 0 e termina em 5 e o passo de variao 0.2. Este um vetor que pode representar, por exemplo, um horizonte de variao no tempo. A unidade de tempo pode ser segundos ou outra especificada pelo clculo. Para eliminar o echo, isto , para no listar o contedo da varivel na tela, que pode ser inconveniente quando se trata de longos vetores, deve-se por um ponto e vrgula no fim do comando.
t=0:0.2:5; % no lista o contedo da varivel t

Definindo uma Matriz


Uma matriz pode ser criada com os elementos dentro do colchete. A virgula separa os elementos dentro de uma linha e o ponto virgula indica o fim de uma linha.
>> A=[1 -2 3;0 3 -6;-1 0 3] A =

Curso de MatLab - Aplicaes em Controle e Servomec - Prof Pinheiro - 2007 Cap 01


1 -2 0 3 -1 0 >> D=det(A) D = 6 3 -6 3

>> Ainv=inv(A) Ainv = 1.5000 1.0000 1.0000 1.0000 0.5000 0.3333 >> A2=A*A ans = -2 6 -4 -8 9 2 24 -36 6

0.5000 1.0000 0.5000

Observe que as operaes com matrizes so feitas diretamente como se elas fossem escalares. TRAANDO GRFICOS ELEMENTARES Criar grficos no MATLAB tarefa fcil pois o comando plot verstil e imediato. o comando mais importante da rea grfica e seu help fornece a seguinte descrio:
help plot PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored. Various line types, plot symbols and colors may be obtained with PLOT(X,Y,S) where S is a character string made from one element from any or all the following 3 colunms: y m c r g b d ^ yellow magenta cyan red green blue diamond triangle (up) . o x + * s k < point circle x-mark plus star square black triangle (left) : -. -h w v > solid dotted dashdot dashed hexagram white triangle (down) triangle (right)

For example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line. PLOT(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings. For example, PLOT(X,Y,'y-',X,Y,'go') plots the data twice, with a solid yellow line interpolating green circles at the data points. The PLOT command, if no color is specified, makes automatic use of the colors specified by the axes ColorOrder property. The default ColorOrder is listed in the table above for color systems where the default is yellow for one line, and for multiple lines, to cycle through the first six colors in the table. For monochrome systems,

Curso de MatLab - Aplicaes em Controle e Servomec - Prof Pinheiro - 2007 Cap 01


PLOT cycles over the axes LineStyleOrder property. PLOT returns a column vector of handles to LINE objects, one handle per line. The X,Y pairs, or X,Y,S triples, can be followed by parameter/value pairs to specify additional properties of the lines. See also SEMILOGX, SEMILOGY, LOGLOG, GRID, CLF, CLC, TITLE,

Exerccios Orientado (Para o aluno realizar seguindo o exemplo dado)

Exerccio 1
Considerando que a seguinte frmula corresponde a srie de Fourier para gerar uma onda quadrada a partir de seus harmnicos. sen(3 o t ) sen(5 o t ) 2 a freqncia angular f (t ) = sen( o t ) + + + ... onde o = 3 5 T Realizar a seguinte seqncia de comandos para traar alguns grficos. Execute cada comando observando o resultado.
t=0:0.01:15; % define o vetor t de 0 a 10 com passo de 0.1 y=sin(t)+sin(3*t)/3+sin(5*t)/5; % define a varivel y funo de t
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1

10

15

Experimente vrias opes como: plot(t,v,r) % traa o grfico em vermelho r de red plot(t,v,g*) % traa o grfico em verde g de green com * nos pontos tente outras opes existentes no HELP PLOT

Exerccio 2
% Cria um vetor com a seqncia dada v=[1 2 3 4 5 6 8 7 6 5]; subplot(2,1,1) % este comando divide o grfico em duas reas plot(v,rs) % traa o grfico dos pontos de v em vermelho e com simbolo square (quadrados). % % subplot(2,1,2) % prepara a rea de grfico do espao inferior t=0:0.1:10; % define o vetor t de 0 a 10 com passo de 0.1 y=1 + sin(t)+sin(3*t)/3; % define a varivel y funo de t traa o grfico de y tendo o vetor t como abcissas na cor azul (b) e com pontos discretos marcados com o smbolo (+ )

Curso de MatLab - Aplicaes em Controle e Servomec - Prof Pinheiro - 2007 Cap 01


% plot(t,y,'b+') ylabel(' y(t) ') % define o que vai imprimir no eixo das ordenadas xlabel (' t ') % define o que vai imprimir no eixo das abcissas Insere um Ttulo no grfico title('SRIE DE FOURIER DE UMA ONDA QUADRADA COM 2 TERMOS') Grid % cria uma grade no grfico

8 6 4 2 0

10

SRIE DE FOURIER DE UMA ONDA QUADRADA COM 2 TERMOS 2 1.5 y(t) 1 0.5 0

5 t

10

Outros tipos de grficos podem ser realizados facilmente. Como exemplo mostraremos o tipo barras, usado para traar histogramas. Aproveitando os dados no vetor b, basta comandar

Exerccio 3 - Grficos Tridimensionais


Seqncia 1 A=zeros(50); A(10:40,10:40)=ones(31); A(15:35,15:35)=2*ones(21); A(20:30,20:30)=3*ones(11); mesh(A) Seqncia 2 meshc(peaks(100)) x=-10:0.1:10; y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; mesh(Z)

Exerccio 4
Grficos de Funes temporais reais 1) Traar o grfico da funo f (t ) = e cos (10t ) para t variando de 0 a 10 com passo de 0.01. 2) Aproveitar os dados do item 1 e traar num mesmo grfico as curvas da funo
5 t

para = 1,2,4 e 5 . 3) Considerar o vetor de tempo de 0 a 10 seg e traar em cinco grficos diferentes na mesma figura, usando SUBPLOT(5,1,n), os harmnicos de ordem mpar da srie de Fourier: 9 sen (n o t ) f (t ) = n n =1

f (t ) = e t cos(10t )