Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso Basico Matlab PDF
Curso Basico Matlab PDF
IT Departamento de Engenharia
REA DE MECANIZAO AGRCOLA
Sair
Contedo
Introduo
Introd
o
Principais Recursos do Programa
Janela Principal do Programa
Principais Sub
Sub--janelas do Programa
Manipulao de Matrizes
Matrizes e grficos para anlise de dados
Grficos para anlise de dados
Janelas e Ferramentas
Carregando algoritmo prtico
Operaes com Vetores
Funes Matemticas
Matrizes
Comando for
Estrutura switch, case, otherwise
While
Plotagem
Representaes em coordenadas polares
Arquivos, extenses e rotinas
Criao de uma nova funo
Grficos tridimensionais
Cores de Mapas
Introduo
O programa computacional MATLAB um ambiente de computao
tcnico--cientfica para o desenvolvimento de sistemas sofisticados (
tcnico
MATSUMOTO, 2002);
extensivamente usado para explorao, anlise e resoluo de
problemas em diversas reas do conhecimento;
Apresenta diversos pacotes de ferramentas toolbox
toolbox que so um
conjunto de algoritmos especialmente desenvolvidos para
aplicaes especficas.
Principais
p
Recursos do Programa
g
Linguagem de alto
alto--nvel para computao tcnica
Ambiente de desenvolvimento e administrao de cdigo, arquivos, e
dados
Ferramentas interativas para explorao, desgnio e resoluo de
problemas
Funes matemticas para lgebra linear, estatsticas, anlise de
Fourier, filtragem, otimizao, e integrao numrica
Funes para visualizar dados de grficos 22 -D e 3
3--D
Ferramentas para construo de interfaces com usurio
Funes que integram MATLAB funcionam como base de algoritmos
com aplicaes externas e idiomas, como C, C++, Fortran, Java, COM,
e Microsoft Excel
Excel,
Workspace
Comand Window
Manipulao de Matrizes
Comando XLSREAD(*.xls)
carrega o arquivo que
contm os valores;
Quantidades de cada item
determinadas em uma
matriz;
Multiplicando as matrizes
pode--se comparar os preos
pode
total ofertado no total por
cada revendedor.
>> precos= XLSREAD('exemplo
novo
novo.xls
xls');
);
>> precos
Automvel
Caminhonete
Caminho
Revendedor
A
15400
18200
46200
Revendedor
B
16200
17900
47500
Revendedor
C
15150
19000
48000
>> escolha=precos*quantidade
escolha =
>> quantidade=[3;1;2]
quantidade =
precos =
15400
16200
15150
Revendedor
18200
17900
19000
46200
47500
48000
3
1
2
156800
161500
160450
18200
17900
19000
>> bar(grafico)
46200
47500
48000
156800
161500
160450
>> revendedor=[1
[ 2 3];
];
>> p
plot(revendedor,grafico(:,1))
(
,g
( , ))
>> plot(revendedor,grafico(:,3))
>> plot(revendedor,grafico(:,4))
Janelas e Ferramentas
Escolha de diretrio;
Utili ao de ferramenta de
Utilizao
busca para opo de
comando;
L it
Leitura
d
de iimagem em
formato .JPG
Salvar a varivel em arquivo
.m que consta em
workspace .
Amostragem para anlise
da composio da imagem.
>> who
Your variables are:
h t
>> whos
Name
h
t
Size
1x11
1x11
Bytes Class
88 double array
88 double array
Manipulao
>> h1=h+2
>> v=t+h
>> t1=t*5
>> b=t*h
>> b1=t.*h
>> b2=t/h
b2 t/h
Funes Matemticas
Para facilmente escrever linhas de expresso matemtica, Matlab
disponibiliza bloco de cdigos que realizam tarefas especficas.
Contm funes padro como sin, cos, tan, sec, exp, log, sqrt,sum, mean.
Constantes geralmente usadas como pi, e i ou j para a raiz quadrada de -1,
tambm est incorporado em Matlab.
Encontra-se todas as funes matemticas elementares
Encontralistadas atravs do comando: >> help elfun
x=3
y=4
w = 5x + 3 x3 y3 2 y x 4 y 2
q=
2
x
5y
2
t=
2 y 3+x + 17
12w
Implementao de Funes
>> x=4; y=3;
>> t=(2*x^2t=(2*x^2-5*y)/(sqrt(2*y^(3
5*y)/(sqrt(2*y^(3--x)+17))
t=
4.0446
>> w=(5*x+3
w=(5*x+3--x^3x^3-y^3)/(2*y
y^3)/(2*y--x-4*y^2)
w=
2
>> q=(sin(w)^3q=(sin(w)^3-t^4/10+tan(w))*(
t^4/10+tan(w))*(--sqrt(t*3+1))/12*w
q=
17.0289
Matrizes
>> a = [1 2 3;4 5 6;7 8 9]
>> a1 = [1 2 3
456
7 8 9]
>> a2 = [1 2 3
3,4
456
6,7
7 8 9]
O clculo de transpostas
transpostas,
inversas,
determinantes,diagonais,
resume-se a
covarincias resumecomandos como:
>> inv(x)
>> b
b=rand(6)
rand(6)
>> var(b)
>> cov(b)
Sendo a matriz de varincia
diagonal da matriz de
covncia
Li
Livro
d
de algebra
l b lilinear exerccio
i
h l matfun
help
tf
Programao simples
Sistematizao de terreno pelo Mtodo do Plano nico
c =input('cotas
input( cotas das amostras ordenadas na sequencia da malha:')
malha: )
%[10.0000,10.2800,10.2000,10.3000,10.3100;10.3000,10.3200,10.2800,10.
3100,1
%0 4000;10 4800 10 5000 10 5500 10 4800 10 5500;10 5600 10 7000 10 80
%0.4000;10.4800,10.5000,10.5500,10.4800,10.5500;10.5600,10.7000,10.80
00,10.
%7500,10.7800];
a=size(c,1);b=size(c,2);
N=a*b;
Hc=(sum(sum(c,1)))/N;
(
(
( , ))) ;
dif=c--Hc;
dif=c
inda=find(dif < 0);indc=find(dif > 0);
dist inp t('distancia entre pontos da malha:');
dist=input('distancia
malha ')
area=dist^2;
volcorte= sum(dif(indc))*area;
volaterro=sum(dif(inda))*area;
Comando for
A forma bsica do comando for :
for ndice = comea:incremento:para
declaraes
end
>> for m=1:10
x(m)=m^2;
end;
>> x(3)
ans =
9
Estruturas ifif-elseelse-end
Matlab tem quatro tipos de afirmaes
so if, elseif, else,end
Elas fazem o controle de fluxo baseadas
no teste lgico.
Em sua forma bsica:
If teste
declaraes
E d
End
function retorno=posneg(ent)
if all(ent>0)
all(ent 0)
retorno=1;
elseif all (ent<0)
retorno=retorno=
t
-1;
1
else
retorno=0;
end
M-file switchx.m
switch teste
case resultado1
declarao
case resultado2
declarao
d l
...
otherwise
declarao
end
switch x
case 1
di (' iis 1')
disp('x
1');
case {2,3,4}
disp('x is 2, 3 or 4');
case 5
disp('x is 5');
otherwise
disp('x is not 1, 2, 3, 4 or 5');
end
>> x=5;
Pressione o boto run:
>> x is 5
While
while teste
declarao
end
n = 1;
while
hil sum(1:n)<=1000
(1 ) 1000
n = n+1;
end
Plotagem
O comando axis ajusta a escala do grfico s coordenadas dos pontos
plotados.
Sintaxe: axis([xmin
([
xmax ymin
y
ymax])
y
])
>> x1=x1=-1;y1=
1;y1=--1;x2=1;y2=
1;x2=1;y2=--1;x3=
1;x3=--1;y3=1;x4=1;y4=1;
>> plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o')
>> axis([axis([
i ([-2 2 -2 2])
>> axis square %forma quadrada >> axis normal ou
>> x=[x=[-1 1 -1 1] ; y=[y=[-1; -1; 1; 1] ; plot(x,y,'.r');axis([
plot(x,y,'.r');axis([--2 2 -2 2])
subplot trabalha com multiplicidade de
grficos
renda= [3.2 4.1 5.0 5.6];
gastos= [2.5 4.0 3.35 4.9];
subplot(2,1,1); plot(renda)
subplot(2,1,2); plot(gastos)
Comando subplot
>> t = 0:.1:2*pi;
subplot(2,2,1)
plot(cos(t),sin(t))
l t(
(t) i (t))
subplot(2,2,2)
plot(cos(t),sin(2*t))
s bplot(2 2 3)
subplot(2,2,3)
plot(cos(t),sin(3*t))
subplot(2,2,4)
plot(cos(t) sin(4*t))
plot(cos(t),sin(4
t))
subplot 221
plot(1:10)
subplot 222
plot(0,*)
subplot
p 212
plot([1 0 1 0])
Propriedades de Grficos
Para colocar rtulos em grficos podepode-se usar a funo xlabel, ylabel,
and title
>> xlabel(eixo
(
x');
); ylabel(eixo
y
(
y');
y ); title(pontos
(p
no plano')
p
)
Inserir texto em ponto de sua escolha no grfico
>>gtext('P1');gtext('P2');gtext('P3');gtext('P4')
Em help plot visualiza
visualiza--se as especificaes
das caractersticas do grfico
>> t = 0:.1:2*pi;
plot(t,sin(t),t,sin(1.05*t))
>> g
gtext('frequency
( q
y = 1');gtext('frequency
)g
( q
y
= 1.05');axis([0 max(t) -1 1])
Pode-se especificar o estilo de linha
Podelinha, o smbolo que marca o ponto e
cor do grfico ainda pelo prompt.
>> x=[4 5 6; 1 2 3]; y=(x.^2)
>> plot(x,y,'
plot(x,y,'l t( '-.or')
')
>> plot(x,y,'plot(x,y,'-hk')
Propriedades de Grficos
>> t = 0:.1:2*pi;
plot(t,sin(t),t,sin(1.05*t))
>> gtext('frequency = 1');gtext('frequency =
1.05');axis([0 max(t) -1 1])
>> dt = 2*pi/10;
t = dt:dt:10*dt;;
x = cos(t);
y = sin(t);
plot(x,y)
axis equal off
for i = 1:10
text(x(i),y(i),int2str(i))
end
Comando plot3
Matlab apresenta um grfico
tridimensional com plot3:
>> x1=3;
1 3 y1=4;
1 4 z1=5;
1 5
>> plot3(x1,y1,z1,'*')
>> th=[0:.01:2]*2*pi;
[
] p;
x=cos(th);
y=sin(th);
z=th;
plot3(x,y,z)
Representaes
p
em coordenadas p
polares
>> th=0:2*pi/100:2*pi;
rho=3 th;
rho=3*th;
polar(th,rho)
Grficos tridimensionais
>> [x,y] = meshgrid(-10:10);
z = sqrt(x.^2
sqrt( ^2 + y.^2);
^2)
>> mesh(x,y,z)
Tipos de representaes
z = 3*(1-x).^2.*exp(-(x.^2)
3*(1 ) ^2 *
( ( ^2) - (y+1).^2)
( 1) ^2) ...
- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
- 1/3*exp(-(x+1).^2 - y.^2);
plot(z)
[x,y,z] = peaks;
colormap(gray)
mesh(x,y,z)
( y )
>> surfl(x,y,z)
( y )
>> shading flat
>> contour(x,y,z)
>> imagesc(z)
>> axis xy
>> contourf(x,y,z)
( ,y, )
Cores de Mapas
Pode-se criar seu prprio trao ou usar qualquer mapa de cores
Podepredefinidas disponveis
hsv hot gray bone copper pink
white flag lines colorcube jet
prism cool autumn spring winter
summer
>> colormap
l
(hot)
(h t)
>> colormap ([.5 .5 .5])
>> gray(8)
Red
Green
Blue
Colour
Black
Whit
White
Red
Green
Blue
Yellow
Magenta
Cyan
.5
.5
.5
Gray
.5
Dark red
.62
.4
Dark orange
.49
.83
Aquamarine
.95
.9
.8
Parchment
Command
Returns
LOAD
Variables in file
CSVREAD
Double array
TEXTREAD
Double array
DAT - Formatted
F
tt d text
t t
IMPORTDATA
D bl array
Double
DLMREAD
Double array
DLMREAD
Double array
Spreadsheet Formats
Command
Returns
XLS - Excel
E
l worksheet
k h t
XLSREAD
D bl array and
Double
d cellll array
WK1READ
Command
Returns
CDFREAD
FITSREAD
HDFREAD
Command
Returns
IMREAD
IMREAD
IMREAD
IMREAD
A di F
Audio
Formats
t
C
Command
d
R t
Returns
AU Next/Sun Sound
AUREAD
AUREAD
WAVREAD
Movie Formats
Command
Returns
AVI - Movie
AVIREAD
MATLAB movie