1. UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIROUNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO
ITIT –– Departamento de EngenhariaDepartamento de Engenharia
ÁREA DE MECANIZAÇÃO AGRÍCOLAÁREA DE MECANIZAÇÃO AGRÍCOLAÁREA DE MECANIZAÇÃO AGRÍCOLAÁREA DE MECANIZAÇÃO AGRÍCOLA
CURSO BÁSICO DE MATLABCURSO BÁSICO DE MATLABA bi t d t ã d l i t d i t fi ti dAmbiente de computação para desenvolvimento de sistemas sofisticados
Carlos Alberto Alves Varella, Prof. UFRRJCarlos Alberto Alves Varella, Prof. UFRRJ--IT/DE.IT/DE. varella@ufrrj.brvarella@ufrrj.br
Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ.Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. keillambidao@ig.com.brkeillambidao@ig.com.br
Sair
2. ConteúdoConteúdo
Introd çãoIntrod çãoIntroduçãoIntrodução
Principais Recursos do ProgramaPrincipais Recursos do Programa
Janela Principal do ProgramaJanela Principal do Programa
Principais SubPrincipais Sub janelas do Programajanelas do ProgramaPrincipais SubPrincipais Sub--janelas do Programajanelas do Programa
Manipulação de MatrizesManipulação de Matrizes
Matrizes e gráficos para análise de dadosMatrizes e gráficos para análise de dados
Gráficos para análise de dadosGráficos para análise de dadosGráficos para análise de dadosGráficos para análise de dados
Janelas e FerramentasJanelas e Ferramentas
Carregando algoritmo práticoCarregando algoritmo prático
Operações com VetoresOperações com VetoresOperações com VetoresOperações com Vetores
Funções MatemáticasFunções Matemáticas
MatrizesMatrizes
Comando forComando for
Estrutura switch, case, otherwiseEstrutura switch, case, otherwise
WhileWhile
PlotagemPlotagem
Representações em coordenadas polaresRepresentações em coordenadas polares
Arquivos, extensões e rotinasArquivos, extensões e rotinas
Criação de uma nova funçãoCriação de uma nova função
Gráficos tridimensionaisGráficos tridimensionais
Cores de MapasCores de Mapas
3. IntroduçãoIntroduçãoIntroduçãoIntrodução
O programa computacional MATLAB é um ambiente de computaçãoO programa computacional MATLAB é um ambiente de computação
técnicotécnico--científica para o desenvolvimento de sistemas sofisticados (científica para o desenvolvimento de sistemas sofisticados (
MATSUMOTO, 2002);MATSUMOTO, 2002);MATSUMOTO, 2002);MATSUMOTO, 2002);
É extensivamente usado para exploração, análise e resolução deÉ extensivamente usado para exploração, análise e resolução de
problemas em diversas áreas do conhecimento;problemas em diversas áreas do conhecimento;
Apresenta diversos pacotes de ferramentas ‘toolbox’ que são umApresenta diversos pacotes de ferramentas ‘toolbox’ que são umApresenta diversos pacotes de ferramentas toolbox que são umApresenta diversos pacotes de ferramentas toolbox que são um
conjunto de algoritmos especialmente desenvolvidos paraconjunto de algoritmos especialmente desenvolvidos para
aplicações específicas.aplicações específicas.
4. Principais Recursos do ProgramaPrincipais Recursos do Programap gp g
Linguagem de altoLinguagem de alto--nível para computação técnicanível para computação técnica
Ambiente de desenvolvimento e administração de código, arquivos, eAmbiente de desenvolvimento e administração de código, arquivos, e
dadosdados
Ferramentas interativas para exploração, desígnio e resolução deFerramentas interativas para exploração, desígnio e resolução de
problemasproblemasproblemasproblemas
Funções matemáticas para álgebra linear, estatísticas, análise deFunções matemáticas para álgebra linear, estatísticas, análise de
Fourier, filtragem, otimização, e integração numéricaFourier, filtragem, otimização, e integração numérica
Funções para visualizar dados de gráficos 2Funções para visualizar dados de gráficos 2--D e 3D e 3--DD
Ferramentas para construção de interfaces com usuárioFerramentas para construção de interfaces com usuário
Funções que integram MATLAB funcionam como base de algoritmosFunções que integram MATLAB funcionam como base de algoritmos
com aplicações externas e idiomas, como C, C++, Fortran, Java, COM,com aplicações externas e idiomas, como C, C++, Fortran, Java, COM,
e Microsoft Excele Microsoft Excele Microsoft Excel,e Microsoft Excel,
6. Principais SubPrincipais Sub--janelas do Programajanelas do Programa
Janela de comandoJanela de comando WorkspaceWorkspace
Comand WindowComand Window
7. Manipulação de MatrizesManipulação de Matrizes
RevendedorRevendedor AutomóvelAutomóvel CaminhoneteCaminhonete CaminhãoCaminhão
RevendedorRevendedor 1540015400 1820018200 4620046200
Comando XLSREAD(‘*.xls)Comando XLSREAD(‘*.xls)
carrega o arquivo quecarrega o arquivo que
contém os valores;contém os valores; RevendedorRevendedor
AA
1540015400 1820018200 4620046200
RevendedorRevendedor
BB
1620016200 1790017900 4750047500
contém os valores;contém os valores;
Quantidades de cada itemQuantidades de cada item
determinadas em umadeterminadas em uma
matriz;matriz;
RevendedorRevendedor
CC
1515015150 1900019000 4800048000
matriz;matriz;
Multiplicando as matrizesMultiplicando as matrizes
podepode--se comparar os preçosse comparar os preços
total ofertado no total portotal ofertado no total por
>> precos= XLSREAD('exemplo>> precos= XLSREAD('exemplo
novo xls');novo xls');
>> escolha=precos*quantidade>> escolha=precos*quantidade
escolha =escolha =
total ofertado no total portotal ofertado no total por
cada revendedor.cada revendedor.
novo.xls );novo.xls );
>> precos>> precos
precos =precos =
>> quantidade=[3;1;2]>> quantidade=[3;1;2]
quantidade =quantidade =
escolhaescolha
156800156800
161500161500
15400 18200 4620015400 18200 46200
16200 17900 4750016200 17900 47500
15150 19000 4800015150 19000 48000
33
11
22
160450160450
15150 19000 4800015150 19000 48000 22
8. Matrizes e gráficos para análise de dadosMatrizes e gráficos para análise de dados
>> grafico=[precos,escolha]>> grafico=[precos,escolha]
grafico =grafico =
15400 18200 46200 15680015400 18200 46200 156800
16200 17900 47500 16150016200 17900 47500 161500
15150 19000 48000 16045015150 19000 48000 160450
>> revendedor=[1 2 3];>> revendedor=[1 2 3];15150 19000 48000 16045015150 19000 48000 160450
>> plot(revendedor,grafico(:,1))>> plot(revendedor,grafico(:,1))>> bar(grafico)>> bar(grafico)
[ ];[ ];
p ( ,g ( , ))p ( ,g ( , ))
9. Gráficos para análise de dadosGráficos para análise de dados
>> plot(revendedor,grafico(:,2))>> plot(revendedor,grafico(:,2))
>> plot(revendedor,grafico(:,3))>> plot(revendedor,grafico(:,3))
>> plot(revendedor,grafico(:,4))>> plot(revendedor,grafico(:,4))
10. Janelas e FerramentasJanelas e Ferramentas Escolha de diretório;Escolha de diretório;
Utili ação de ferramenta deUtili ação de ferramenta deUtilização de ferramenta deUtilização de ferramenta de
busca para opção debusca para opção de
comando;comando;
L it d iL it d iLeitura de imagem emLeitura de imagem em
formato .JPGformato .JPG
Salvar a variável em arquivoSalvar a variável em arquivo
.m que consta em.m que consta em
workspace .workspace .
Amostragem para análiseAmostragem para análise
da composição da imagem.da composição da imagem.
Carregando variável salva para serCarregando variável salva para ser
usada em outro trabalhousada em outro trabalho
11. Carregando algoritmo práticoCarregando algoritmo prático
O comando figure é umO comando figure é um
suporte sempresuporte sempre
á i dá i dnecessário quandonecessário quando
desejadeseja--se amostrarse amostrar
imagem. É designadoimagem. É designado
atra és da interfaceatra és da interfaceatravés da interfaceatravés da interface
programaprograma--usuáriousuário
As linhas de programação ficam gravadas emAs linhas de programação ficam gravadas emAs linhas de programação ficam gravadas emAs linhas de programação ficam gravadas em
arquivos Marquivos M--file ou arquivos de extensão .mfile ou arquivos de extensão .m
12. Operações com VetoresOperações com Vetores
CriaçãoCriação
>>t>>t=[0 2 4 6 8 10 12 14 16 18 20]=[0 2 4 6 8 10 12 14 16 18 20]
OO
ManipulaçãoManipulação
>> h1=h+2>> h1=h+2
>> v=t+h>> v=t+h
OuOu
>>t1= 0:2:20>>t1= 0:2:20
>> h=1:3:32>> h=1:3:32
>> t1=t*5>> t1=t*5
>> b=t*h‘>> b=t*h‘
>> b1=t.*h>> b1=t.*h
>> b2 t/h>> b2 t/h>> b2=t/h>> b2=t/h
>> who>> who
Your variables are:Your variables are:
h th th th t
>> whos>> whos
Name Size Bytes ClassName Size Bytes ClassName Size Bytes ClassName Size Bytes Class
h 1x11 88 double arrayh 1x11 88 double array
t 1x11 88 double arrayt 1x11 88 double array
Grand total is 22 elements using 176 bytesGrand total is 22 elements using 176 bytes
13. Funções MatemáticasFunções Matemáticas
Para facilmente escrever linhas de expressão matemática, MatlabPara facilmente escrever linhas de expressão matemática, Matlab
disponibiliza bloco de códigos que realizam tarefas específicas.disponibiliza bloco de códigos que realizam tarefas específicas.
Contém funções padrão como sin, cos, tan, sec, exp, log, sqrt,sum, mean.Contém funções padrão como sin, cos, tan, sec, exp, log, sqrt,sum, mean.
Constantes geralmente usadas como pi, e i ou j para a raiz quadrada deConstantes geralmente usadas como pi, e i ou j para a raiz quadrada de --1,1,
também está incorporado em Matlab.também está incorporado em Matlab.
EncontraEncontra--se todas as funções matemáticas elementaresse todas as funções matemáticas elementares
listadas através do comando: >> help elfunlistadas através do comando: >> help elfun
3=x 4=y
233
4235 yxyyxxw −−−−+=
twtw )13)(tan10sin( 43
++
52 2
w
twtw
q
12
)13)(tan10sin( +−+−
=
172
52
3
2
+
−= +x
y
yxt
15. MatrizesMatrizes
>> a = [1 2 3;4 5 6;7 8 9]>> a = [1 2 3;4 5 6;7 8 9]
>> a1 = [1 2 3>> a1 = [1 2 3
>> b=[1 2 2;3 2 4; 5 2 1];>> b=[1 2 2;3 2 4; 5 2 1];
>> d=[b,a]>> d=[b,a]
4 5 64 5 6
7 8 9]7 8 9]
>> a2 = [1 2 3 4 5 6 7 8 9]>> a2 = [1 2 3 4 5 6 7 8 9] >> b=rand(6)>> b=rand(6)>> a2 = [1 2 3,4 5 6,7 8 9]>> a2 = [1 2 3,4 5 6,7 8 9]
O cálculo de transpostasO cálculo de transpostas
>> b rand(6)>> b rand(6)
>> var(b)>> var(b)
>> cov(b)>> cov(b)
O cálculo de transpostas,O cálculo de transpostas,
inversas,inversas,
determinantes,diagonais,determinantes,diagonais,
covariâncias resumecovariâncias resume--se ase a
Sendo a matriz de variânciaSendo a matriz de variância
diagonal da matriz dediagonal da matriz de
covânciacovância
Li d l b li í iLi d l b li í i
covariâncias resumecovariâncias resume se ase a
comandos como:comandos como:
>> inv(x)>> inv(x)
h l tfh l tf
Livro de algebra linear exercícioLivro de algebra linear exercício
help matfunhelp matfun
16. Funções para MatrizesFunções para Matrizes
>> ones(3) matriz de uns>> ones(3) matriz de uns
>> zeros(5) matriz de zeros>> zeros(5) matriz de zeros
>> rand(3) matriz com elementos aleatórios distribuídos>> rand(3) matriz com elementos aleatórios distribuídos>> rand(3) matriz com elementos aleatórios distribuídos>> rand(3) matriz com elementos aleatórios distribuídos
uniformementeuniformemente
>> randn(4) matriz com elementos aleatórios distribuídos normalmente>> randn(4) matriz com elementos aleatórios distribuídos normalmente
>> (3) t i id tid d>> (3) t i id tid d>> eye(3) matriz identidade>> eye(3) matriz identidade
>> ones(3,1,2) matriz de uns com especificação da dimensão>> ones(3,1,2) matriz de uns com especificação da dimensão
>> a=ones(2,5); b=zeros(2,5); c=ones(1,5)*3;vertcat(a,b,c)>> a=ones(2,5); b=zeros(2,5); c=ones(1,5)*3;vertcat(a,b,c)
comando que concatena matrizes verticalmentecomando que concatena matrizes verticalmente
>> repmat(a,2,3)>> repmat(a,2,3)
>> m = size(rand(2 3 4) 2)>> m = size(rand(2 3 4) 2)>> m = size(rand(2,3,4),2)>> m = size(rand(2,3,4),2)
em que o ultimo algarismo responde sobre a dimensão dois,em que o ultimo algarismo responde sobre a dimensão dois,
a das colunas. Poderia ser 3, a das linhas. E 4, a das bandas.a das colunas. Poderia ser 3, a das linhas. E 4, a das bandas.
>>d k (25)>>d k (25)>>d=peaks(25);>>d=peaks(25);
17. Programação simplesProgramação simples
c =input('cotas das amostras ordenadas na sequencia da malha:')c =input('cotas das amostras ordenadas na sequencia da malha:')
Sistematização de terreno pelo ‘Método do Plano Único’Sistematização de terreno pelo ‘Método do Plano Único’
c input( cotas das amostras ordenadas na sequencia da malha: )c input( cotas das amostras ordenadas na sequencia da malha: )
%[10.0000,10.2800,10.2000,10.3000,10.3100;10.3000,10.3200,10.2800,10.%[10.0000,10.2800,10.2000,10.3000,10.3100;10.3000,10.3200,10.2800,10.
3100,13100,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%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.00,10.
%7500,10.7800];%7500,10.7800];
a=size(c,1);b=size(c,2);a=size(c,1);b=size(c,2);
N=a*b;N=a*b;
Hc=(sum(sum(c,1)))/N;Hc=(sum(sum(c,1)))/N;( ( ( , ))) ;( ( ( , ))) ;
dif=cdif=c--Hc;Hc;
inda=find(dif < 0);indc=find(dif > 0);inda=find(dif < 0);indc=find(dif > 0);
dist inp t('distancia entre pontos da malha ')dist inp t('distancia entre pontos da malha ')dist=input('distancia entre pontos da malha:');dist=input('distancia entre pontos da malha:');
area=dist^2;area=dist^2;
volcorte= sum(dif(indc))*area;volcorte= sum(dif(indc))*area;
volaterro=sum(dif(inda))*area;volaterro=sum(dif(inda))*area;
18. Comando forComando for
>> for a=1:10>> for a=1:10A forma básica do comando for é:A forma básica do comando for é: >> for a=1:10>> for a=1:10
a<=3; C(a)=a^2;a<=3; C(a)=a^2;
a=3:7; C(a)=a+5;a=3:7; C(a)=a+5;
A forma básica do comando for é:A forma básica do comando for é:
for índice = começa:incremento:parafor índice = começa:incremento:para
a=7:10; C(a)=a;a=7:10; C(a)=a;
endend
>> stem(C)>> stem(C)
declaraçõesdeclarações
endend
stem(C)stem(C)
>> for m=1:10>> for m=1:10
x(m)=m^2;x(m)=m^2;
end;end;end;end;
>> x(3)>> x(3)
ans =ans =
99
19. Estruturas ifEstruturas if--elseelse--endend
Matlab tem quatro tipos de afirmaçõesMatlab tem quatro tipos de afirmações
são if, elseif, else,endsão if, elseif, else,end
function retorno=posneg(ent)function retorno=posneg(ent)
if all(ent>0)if all(ent>0)
Elas fazem o controle de fluxo baseadasElas fazem o controle de fluxo baseadas
no teste lógico.no teste lógico.
Em sua forma básica:Em sua forma básica:
if all(ent 0)if all(ent 0)
retorno=1;retorno=1;
elseif all (ent<0)elseif all (ent<0)
tt 11Em sua forma básica:Em sua forma básica:
If testeIf teste
declaraçõesdeclarações
E dE d
retorno=retorno=--1;1;
elseelse
retorno=0;retorno=0;
EndEnd endend
O teste é uma expressão em que há 1(verdadeiro) ou 0(falso) é executadoO teste é uma expressão em que há 1(verdadeiro) ou 0(falso) é executado
entre o if e end e retorna se o teste der verdadeiro, quando falso sãoentre o if e end e retorna se o teste der verdadeiro, quando falso sãoentre o if e end e retorna se o teste der verdadeiro, quando falso sãoentre o if e end e retorna se o teste der verdadeiro, quando falso são
ignoradas as declarações.ignoradas as declarações.
Testes adicionais podem ser feitos usando elseif e else.Testes adicionais podem ser feitos usando elseif e else.
20. Estrutura switch, case, otherwiseEstrutura switch, case, otherwise
MM--file switchx.mfile switchx.m
A forma básica de parâmetros doA forma básica de parâmetros do
switch eswitch e´´::
switch xswitch x
case 1case 1
di (' i 1')di (' i 1')
switch testeswitch teste
case resultado1case resultado1
disp('x is 1');disp('x is 1');
case {2,3,4}case {2,3,4}
disp('x is 2, 3 or 4');disp('x is 2, 3 or 4');
case resultado1case resultado1
declaraçãodeclaração
case resultado2case resultado2
d l ãd l ã
case 5case 5
disp('x is 5');disp('x is 5');
otherwiseotherwise
declaraçãodeclaração
......
otherwiseotherwise
otherwiseotherwise
disp('x is not 1, 2, 3, 4 or 5');disp('x is not 1, 2, 3, 4 or 5');
endend
declaraçãodeclaração
endend
>> x=5;>> x=5;
Pressione o botão run:Pressione o botão run:
A expressão em switch case só podeA expressão em switch case só pode
ser um escalar ou uma stringser um escalar ou uma string Pressione o botão run:Pressione o botão run:
>> x is 5>> x is 5
ser um escalar ou uma string.ser um escalar ou uma string.
21. WhileWhile
while testewhile teste
declaraçãodeclaração
n = 1;n = 1;
hil (1 ) 1000hil (1 ) 1000
declaraçãodeclaração
endend
while sum(1:n)<=1000while sum(1:n)<=1000
n = n+1;n = n+1;
endend
As declarações são executadas repetidamente enquanto o valor deAs declarações são executadas repetidamente enquanto o valor de
teste for igual a 1, por exemplo, achar o primeiro inteiro n para qualteste for igual a 1, por exemplo, achar o primeiro inteiro n para qual
1+2+ +n é maior que 1000:1+2+ +n é maior que 1000:1+2+· · ·+n é maior que 1000:1+2+· · ·+n é maior que 1000:
22. Área de um Polígono com WhileÁrea de um Polígono com While
mat=input('matriz de coordenadas x e y dos pontos da poligonal:')
matr=vertcat(mat,mat(1,:));
x=matr(:,1);y=matr(:,2);
i ( 1)a=size(x,1);
n=1;
soma=0;
while n<a;while n<a;
mult=x(n,1)*y(n+1,1);
soma=soma+mult;
n=n+1;n=n+1;
end
m=1;
soma2=0;soma2 0;
while m<a;
mult2=x(m+1,1)*y(m,1);
soma2=soma2+mult2;soma2 soma2 mult2;
m=m+1;
end
area=abs((soma-soma2)/2)(( ) )
23. PlotagemPlotagem
O comando axis ajusta a escala do gráfico às coordenadas dos pontosO comando axis ajusta a escala do gráfico às coordenadas dos pontos
plotados.plotados.
Sintaxe: axis([xmin xmax ymin ymax])Sintaxe: axis([xmin xmax ymin ymax])([ y y ])([ y 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;1;y3=1;x4=1;y4=1;
>> plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o')>> plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o')
>> i ([>> i ([ 2 22 2 2 2])2 2])>> axis([>> axis([--2 22 2 --2 2])2 2])
>> axis square %forma quadrada >> axis normal ou>> axis square %forma quadrada >> axis normal ou
>> x=[>> x=[--1 11 1 --1 1] ;1 1] ; y=[y=[--1;1; --1; 1; 1] ; plot(x,y,'.r');axis([1; 1; 1] ; plot(x,y,'.r');axis([--2 22 2 --2 2])2 2])
subplot trabalha com multiplicidade desubplot trabalha com multiplicidade de
gráficosgráficosgráficosgráficos
renda= [3.2 4.1 5.0 5.6];renda= [3.2 4.1 5.0 5.6];
gastos= [2.5 4.0 3.35 4.9];gastos= [2.5 4.0 3.35 4.9];
subplot(2,1,1); plot(renda)subplot(2,1,1); plot(renda)
subplot(2,1,2); plot(gastos)subplot(2,1,2); plot(gastos)
24. Comando subplotComando subplot
>> t = 0:.1:2*pi;
subplot(2,2,1)
l t( (t) i (t))
subplot 221
plot(1:10)
plot(cos(t),sin(t))
subplot(2,2,2)
plot(cos(t),sin(2*t))
s bplot(2 2 3)
plot(1:10)
subplot 222
plot(0,’*’)
subplot 212
subplot(2,2,3)
plot(cos(t),sin(3*t))
subplot(2,2,4)
plot(cos(t) sin(4*t))
p
plot([1 0 1 0])
plot(cos(t),sin(4 t))
Sendo o primeiro índice o número de eixos naSendo o primeiro índice o número de eixos na
vertical o segundo número de eixos navertical o segundo número de eixos navertical, o segundo número de eixos navertical, o segundo número de eixos na
horizontal e o último o número de ordem ouhorizontal e o último o número de ordem ou
posição.posição.
25. Propriedades de GráficosPropriedades de Gráficos
Para colocar rótulos em gráficos podePara colocar rótulos em gráficos pode--se usar a função xlabel, ylabel,se usar a função xlabel, ylabel,
and titleand title
>> xlabel(‘eixo x'); ylabel(‘eixo y'); title(‘pontos no plano')>> xlabel(‘eixo x'); ylabel(‘eixo y'); title(‘pontos no plano')( ); y ( y ); ( p p )( ); y ( y ); ( p p )
Inserir texto em ponto de sua escolha no gráficoInserir texto em ponto de sua escolha no gráfico
>>gtext('P1');gtext('P2');gtext('P3');gtext('P4')>>gtext('P1');gtext('P2');gtext('P3');gtext('P4')
Em help plot visualizaEm help plot visualiza--se as especificaçõesse as especificações
das características do gráficodas características do gráfico
>> t = 0:.1:2*pi;
plot(t,sin(t),t,sin(1.05*t))
>> gtext('frequency = 1');gtext('frequency
PodePode--se especificar o estilo de linha o símbolo que marca o ponto ese especificar o estilo de linha o símbolo que marca o ponto e
g ( q y ) g ( q y
= 1.05');axis([0 max(t) -1 1])
PodePode--se especificar o estilo de linha, o símbolo que marca o ponto ese especificar o estilo de linha, o símbolo que marca o ponto e
cor do gráfico ainda pelo prompt.cor do gráfico ainda pelo prompt.
>> x=[4 5 6; 1 2 3]; y=(x.^2)>> x=[4 5 6; 1 2 3]; y=(x.^2)
l t( 'l t( ' ')')>> plot(x,y,'>> plot(x,y,'--.or').or')
>> plot(x,y,'>> plot(x,y,'--hk')hk')
26. Propriedades de GráficosPropriedades de Gráficos
>> 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
27. Comando plot3Comando plot3
Matlab apresenta um gráficoMatlab apresenta um gráfico
tridimensional com plot3:tridimensional com plot3:
1 3 1 4 1 51 3 1 4 1 5>> x1=3; y1=4; z1=5;>> x1=3; y1=4; z1=5;
>> plot3(x1,y1,z1,'*')>> plot3(x1,y1,z1,'*')
>> th=[0:.01:2]*2*pi;[ ] p ;
x=cos(th);
y=sin(th);
z=th;
plot3(x,y,z)
28. Representações em coordenadas polaresRepresentações em coordenadas polaresp ç pp ç p
>> th=0:2*pi/100:2*pi;
rho=3*th;rho=3 th;
polar(th,rho)
29. Arquivos, extensões e rotinasArquivos, extensões e rotinas
As rotinas para automação de atividades também são gravados em
arquivos de extensão .m e carregados sempre que necessário;
File>New>M-File Copiar as linhas de programação com sintaxe correta e
salvar;
File>Open>(escolha) Desde que o arquivo esteja no diretório corrente;
Botão para compilação ou prompt digitando o nome do arquivo.otão pa a co p ação ou p o pt d g ta do o o e do a qu o
Já as variáveis de trabalho podem ser armazenadas em arquivos de
extensão mat através do menu File> Save Workspace As E carregadas
clear clf
extensão .mat através do menu File> Save Workspace As... E carregadas
da mesma maneira que um M_File.
clear, clf
>>x1=1;y1=.5;x2=2;y2=1.5;x3=3;y3=2;
>>plot(x1,y1,'o',x2,y2,'+',x3,y3,'*')
>>axis([0 4 0 4])axis([0 4 0 4])
>>xlabel('xaxis')
>>ylabel('yaxis')
>>title('3points in a plane')( p p )
30. Criação de uma nova funçãoCriação de uma nova função
É necessário criar um arquivo .m denominado da mesma formaÉ necessário criar um arquivo .m denominado da mesma forma
que a função;que a função;
Em sua primeira linha escreveEm sua primeira linha escreve--se o comando function e segue ase o comando function e segue a
descrição dos parâmetros da nova função.descrição dos parâmetros da nova função.
Para a amostragem geométrica da função em seu domínio usaPara a amostragem geométrica da função em seu domínio usa--se ose o
d f l d li i d i ld f l d li i d i lcomando fplot delimitando os intervaloscomando fplot delimitando os intervalos
>> fplot ('andre',[-2,7])fplot ( andre ,[ 2,7])
33. >> surf(x y z) >> surfl(x,y,z)
Outros tipos de representaçõesOutros tipos de representações
>> surf(x,y,z)
>> shading flat
( y )
>> shading flat
>> contour(x,y,z)
>> imagesc(z)
>> axis xy
34. Outros tipos de representaçõesOutros tipos de representações
>> surfc(x,y,z)
>> contourf(x,y,z)( ,y, )
35. Cores de MapasCores de Mapas
PodePode--se criar seu próprio traço ou usar qualquer mapa de coresse criar seu próprio traço ou usar qualquer mapa de cores
predefinidas disponíveispredefinidas disponíveis
hsv hot gray bone copper pink
white flag lines colorcube jet
prism cool autumn spring winter
RedRed GreenGreen BlueBlue ColourColour
00 00 00 BlackBlack
11 11 11 WhitWhit
prism cool autumn spring winter
summer
>> l (‘h t’)
11 11 11 WhiteWhite
11 00 00 RedRed
00 11 00 GreenGreen
>> colormap (‘hot’)
>> colormap ([.5 .5 .5])
00 00 11 BlueBlue
11 11 00 YellowYellow
11 00 11 MagentaMagenta
00 11 11 CyanCyan
.5.5 .5.5 .5.5 GrayGray
.5.5 00 00 Dark redDark red
>> gray(8)
Colormap. Matlab usa matrizes paraColormap. Matlab usa matrizes para
aplicar cores em mapas imagens eaplicar cores em mapas imagens e
11 .62.62 .4.4 Dark orangeDark orange
.49.49 11 .83.83 AquamarineAquamarine
superfícies tendo elas assuperfícies tendo elas as
especificações:especificações:
.95.95 .9.9 .8.8 ParchmentParchment
36. Formatos suportados para arquivos de dadosFormatos suportados para arquivos de dados
Double arrayCSVREADCSV - Comma separated numbers
Variables in fileLOADMAT - MATLAB workspace
ReturnsCommandData Formats
D blIMPORTDATADAT F tt d t t
Double arrayTEXTREADTXT – Formatted data in a text file
Formatos suportados para arquivos de dadosFormatos suportados para arquivos de dados
Double arrayDLMREADTAB - Tab separated text
Double arrayDLMREADDLM - Delimited text
Double arrayIMPORTDATADAT - Formatted text
D bl d llXLSREADXLS E l k h t
ReturnsCommandSpreadsheet Formats
Double arrayDLMREADTAB - Tab separated text
Double array and cell arrayWK1READWK1 - Lotus 123 worksheet
Double array and cell arrayXLSREADXLS - Excel worksheet
Primary or extension table dataFITSREADFITS - Flexible Image Transport System
Cell array of CDF recordsCDFREADCDF - Common Data Format
ReturnsCommandScientific Data Formats
HDF or HDF-EOS data setHDFREADHDF - Hierarchical Data Format
37. Formatos suportados para arquivos de imagem, áudio e filmeFormatos suportados para arquivos de imagem, áudio e filme
Truecolor, grayscale or indexed
image(s)
IMREADTIFF – Tagged image format
ReturnsCommandImage Formats
Truecolor or indexed image(s)IMREADHDF – Hierarchial data format
Truecolor, grayscale or indexed
image
IMREADPNG – Portable network graphics
R tC dA di F t
Truecolor or indexed imageIMREADBMP – Windows bitmap
g ( )
Sound data and sample rateAUREADSND – Next/Sun Sound
Sound data and sample rateAUREADAU – Next/Sun Sound
ReturnsCommandAudio Formats
ReturnsCommandMovie Formats
Sound data and sample rateWAVREADWAV – Microsoft Wave Sound
MATLAB movieAVIREADAVI - Movie
ReturnsCommandMovie Formats