Escolar Documentos
Profissional Documentos
Cultura Documentos
1) MATLAB - Curso B-Sico - Alexandre Branquinho Rocha - 2009 - 2010 PDF
1) MATLAB - Curso B-Sico - Alexandre Branquinho Rocha - 2009 - 2010 PDF
Aula 1
Introduo
3/12/2009
Aplicaes:
Simulao
Jogos
Inteligncia Artificial
Redes Neurais
Instrumentao
Automao
Medicina
3/12/2009
Problemas Encontrados na
Engenharia
3/12/2009
Iniciando o MATLAB
3/12/2009
Janelas
Variveis do Programa
Observaes
3/12/2009
Observaes
Exemplo:
syms x y z
3/12/2009
x=solve('x=154^2+x^2-963*x+4625784*x^2+sin(3.87*pi/1.29)+4.782*tan(0.156)12*x^3')
x=
5.2463512724443844694933368035694
-7.1012054591718830367351002104524
-63.395145813272501432758236593117
3/12/2009
10
Resolvendo um Sistema
x 2 y 2 2 x 390 = 0
2
2
x
y
9 = 0
[ 4]
[ -4]
Solues
(5 , 4 ) (5 , 4 )
Solues Reais
11
Resolvendo Integrais
f (x ) =
(sen (x )) dx
f (x ) =
36 cos (3 x
syms x y
f (x , y ) =
(x
10
4 ) dx
4 y dy dx
f=int((sin(x))^2)
f = -1/2*sin(x)*cos(x)+1/2*x
f=int(36*cos(3*x-pi/4),x,-pi/2,pi/2)
f = -12*2^(1/2)
3/12/2009
f=int(int(x^3-4*y,y,-5,3),x,0,10)
f = 20320
12
Resolvendo Derivadas
f (x ) =
d
(5 cos (5 x ))
dx
d d
f (x ) =
x 2 + 5 x 10
dx dx
d
(sen ( x y ))
f (x ) =
dx
syms x y
f= diff(5*cos(5*x))
f = -25*sin(5*x)
f= diff(diff(x^2+5*x-10))
f=2
3/12/2009
f= diff(sin(x*y),x)
f = cos(x*y)*y
13
Criao de Vetores
3/12/2009
14
Criao de Vetores
3/12/2009
15
Orientao de Vetores
O funciona
como operador de
transposio.
3/12/2009
16
Criao de Matrizes
3/12/2009
17
Criao de Matrizes
3/12/2009
18
Localizao Lgica
3/12/2009
19
Busca em Matrizes
3/12/2009
20
3/12/2009
21
3/12/2009
22
Traando Grficos
O comando plot do MATLAB pode
traar tanto um ponto com
coordenadas x e y definidos, mas
tambm pode traar curvas, onde x
e y entram no grfico na forma de
vetores.
O comando plot3 utilizado para
gerar grficos 3D e segue o mesmo
princpio do comando plot
3/12/2009
23
Traando Grficos 2D
3/12/2009
24
Traando Grficos 3D
3/12/2009
25
Traando Superfcies
3/12/2009
26
Aula 2
Grficos
3/12/2009
27
SubGrficos
Seleciona o
Grfico no alto,
esquerda, de
uma grade 2
por 2 de
subgrficos
3/12/2009
28
SubGrficos
3/12/2009
29
SubGrficos
3/12/2009
30
SubGrficos
3/12/2009
31
SubGrficos
3/12/2009
32
Grficos Bidimensionais
Especializados
3/12/2009
33
Grficos Bidimensionais
Especializados
3/12/2009
34
Grficos Bidimensionais
Especializados
3/12/2009
35
Grficos Bidimensionais
Especializados
3/12/2009
36
3/12/2009
37
3/12/2009
38
Comando close:
close fecha a janela de Figure ativa
close(h) fecha a janela Figure com o handle h.
close all fecha todas as janelas Figure.
Comando clf:
clf limpa a janela Figure ativa.
clf reset limpa a janela Figure ativa e devolve
todas as propriedades, como hold, a seu estado
padro.
3/12/2009
39
Tipos de Grficos
3/12/2009
40
Tipos de Grficos
3/12/2009
41
Tipos de Grficos
3/12/2009
42
Tipos de Grficos
3/12/2009
43
Tipos de Grficos
3/12/2009
44
Tipos de Grficos
3/12/2009
45
Tipos de Grficos
3/12/2009
46
3/12/2009
47
3/12/2009
48
3/12/2009
49
3/12/2009
50
3/12/2009
51
%Cria Cruz
xcruz=[-0.5 0.5 0.5 3.5 3.5 0.5 0.5
-0.5 -0.5 -3.5 -3.5 -0.5 -0.5];
ycruz=[-1 -1 2 2 3 3 6 6 3 3 2 2 -1];
3/12/2009
52
3/12/2009
53
grid on
axis square off
axis equal
3/12/2009
54
figure(n)
Onde n o numero da figura
plot3(x1,y1,z1,'o',x2,y2,z2,'*',x3,y3,z3,'d');
Plota 3 grficos Tridimensionais (x1,y1,z1); (x2,y2,z2) e
(x3,y3,z3)
grid on;
Coloca Grid no Grfico
xlabel('Legenda do Eixo X');
ylabel('Legenda do Eixo Y');
zlabel('Legenda do Eixo Z');
title('Titulo do Grfico');
legend('Legenda Graf.1', 'Legenda Graf.2', 'Legenda
Graf.3');
3/12/2009
55
3/12/2009
56
Aula 3
Programando
3/12/2009
57
3/12/2009
58
M-File
File
New
3/12/2009
M-File
59
60
Programa Exemplo 1:
%Limpa as Variveis
%Limpa a Tela
x=[0 1 2 3 4 5 6 7 8 9];
for a=1:1:10
%a varia de 1 at 10 de 1 em 1
y(a)=input('Digite o Valor:');%Entrada de Valores de Y
end
%Plota os valores de x e y
plot(x,y)
3/12/2009
61
Resultados do Programa 1:
3/12/2009
62
Operaes Relacionais
Operadores Lgicos:
3/12/2009
63
Estruturas (for
(for)
)
for x=0:1:10
A funo for ir repetir o loop do
ponto inicial 0, variando de 1 em 1
at atingir o valor final 10.
Operaes
3/12/2009
end
64
Estruturas (while
(while)
)
while x<=100
A funo while ir repetir as
operaes enquanto a condio
(x100) no for satisfeita
Operaes
3/12/2009
end
65
Estruturas (if
(if)
)
if x<=10
Operao 1
elseif x>10 & x<50
Operao 2
else
Operao 3
end
3/12/2009
66
Estruturas (switch
(switch)
)
metodo = 'Bilinear';
switch lower(metodo)
case {'linear','bilinear'}
disp('Metodo linear')
case 'cubico'
disp('Metodo cubico')
case 'nearest'
disp('Metodo nearest')
otherwise
disp('Metodo Desconhecido')
end
3/12/2009
67
Exerccio Exemplo 1
3/12/2009
68
clear all;
close all;
clc;
3/12/2009
%Localiza maximos em y1 e y2
ymax1=max(y1);
xmax1=find(y1==ymax1)-1;
ymax2=max(y2);
xmax2=find(y2==ymax2)-1;
ymax=max([ymax1 ymax2]);
if ymax==ymax1
xmax=xmax1;
else
xmax=xmax2;
end
3/12/2009
70
%Localiza minimos em y1 e y2
ymin1=min(y1);
xmin1=find(y1==ymin1)-1;
ymin2=min(y2);
xmin2=find(y2==ymin2)-1;
ymin=min([ymin1 ymin2]);
if ymin==ymin1
xmin=xmin1;
else
xmin=xmin2;
end
3/12/2009
71
Ageitando valores:
%Discretizando o grfico
passo=0.00001;
xi=0:passo:(n-1);
y1i=interp1(x,y1,xi);
y2i=interp1(x,y2,xi);
3/12/2009
72
Localizando Intersees
%Encontrando intersees
k=1;
for a=1:1:(((n-1)/passo)+1)
if y1ix(a) == y2ix(a)
intersecaoY(k)=y1ix(a);
intersecaoX(k)=xi(a);
k=k+1;
end
end
3/12/2009
73
Localizando Intersees
%Plotando Grfico
figure(1)
subplot(2,1,1)
plot(x,y1,'b--',x,y2,'r-');
title('Grfico com pontos aleatrios');
legend('Graf. 1','Graf. 2');
xlabel('Eixo X');
ylabel('Eixo Y');
grid on;
subplot(2,1,2)
3/12/2009
74
Localizando Intersees
plot(xi,y1i,'b--',xi,y2i,'r-',intersecaoX,intersecaoY,'og',...
xmax,ymax,'or',xmax1,ymax1,'^b',xmax2,ymax2,'^c',...
xmin,ymin,'or',xmin1,ymin1,'vb',xmin2,ymin2,'vc');
title('Grfico com pontos de intersees marcados e maximos');
legend('Graf. 1','Graf. 2');
xlabel('Eixo X');
ylabel('Eixo Y');
grid on;
3/12/2009
75
3/12/2009
76
Criando Funes
3/12/2009
77
Dvidas de sintaxe:
O Matlab possui um
grande nmero de
funes j prontas,
e devido a isso,
muitas delas no
vamos conseguir
decorar a sintaxe
corretamente,
sabendo disso,
vamos fazer uso da
funo help para
encontrar a sintaxe
correta.
3/12/2009
78
Dvidas de sintaxe:
3/12/2009
79
Converses
3/12/2009
80
3/12/2009
Salvar Arquivos:
81
Carregar Arquivos:
y=load(Nome_do_Arquivo,a) retorna
apenas a varivel a na estrutura y.
3/12/2009
82
Comandos
3/12/2009
83
Formato Numrico:
Operaes Bsicas:
3/12/2009
84
Operaes Relacionais:
3/12/2009
85
Detalhes do Grfico:
Anotaes no Grfico:
3/12/2009
86
3/12/2009
87
3/12/2009
88
Operadores Lgicos:
Comentrios e Pontuaes:
3/12/2009
89
3/12/2009
90
Construo de Vetores:
3/12/2009
91
Programa Desafio
3/12/2009
92
Programa 2:
3/12/2009
93
Dicas:
Consulte as funes rand e round, elas
podem ser teis para o inicio do
problema!!!
Seria interessante olhar como se faz
para criar uma funo e como cham-la
dentro do programa principal, mesmo
no sendo necessrio para este
exerccio!!!
3/12/2009
94
Resoluo:
close all
clear all
clc
MATRIZ=rand([i,j]);
MATRIZ=MATRIZ*100;
MATRIZ=round(MATRIZ);
3/12/2009
95
Resoluo:
3/12/2009
for a=1:1:j
if Menor>VetMin(a)
Menor=VetMin(a);
elseif Maior<VetMax(a)
Maior=VetMax(a);
end
end
96
Resoluo:
3/12/2009
97
Resoluo:
3/12/2009
98
Resoluo:
3/12/2009
99
Duvidas???
3/12/2009
100
OBRIGADO!!!
3/12/2009
101