Curso basico matlab

37
UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO IT IT – Departamento de Engenharia Departamento 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 MATLAB CURSO BÁSICO DE MATLAB A bi t d t ã d li t d it fi ti d Ambiente de computão para desenvolvimento de sistemas sofisticados Carlos Alberto Alves Varella, Prof. UFRRJ Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. IT/DE. [email protected] [email protected] Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. [email protected] [email protected] Sair

Transcript of Curso basico matlab

Page 1: Curso basico matlab

UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIROUNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIROIT IT –– 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. [email protected]@ufrrj.brKeilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. [email protected]@ig.com.br

Sair

Page 2: Curso basico matlab

ConteúdoConteúdoIntrod çãoIntrod çãoIntroduçãoIntroduçãoPrincipais Recursos do ProgramaPrincipais Recursos do ProgramaJanela Principal do ProgramaJanela Principal do ProgramaPrincipais SubPrincipais Sub janelas do Programajanelas do ProgramaPrincipais SubPrincipais Sub--janelas do Programajanelas do ProgramaManipulação de MatrizesManipulação de MatrizesMatrizes e gráficos para análise de dadosMatrizes e gráficos para análise de dadosGráficos para análise de dadosGráficos para análise de dadosGráficos para análise de dadosGráficos para análise de dadosJanelas e FerramentasJanelas e FerramentasCarregando algoritmo práticoCarregando algoritmo práticoOperações com VetoresOperações com VetoresOperações com VetoresOperações com VetoresFunções MatemáticasFunções MatemáticasMatrizesMatrizesComando forComando forEstrutura switch, case, otherwiseEstrutura switch, case, otherwiseWhileWhilePlotagemPlotagemRepresentações em coordenadas polaresRepresentações em coordenadas polaresArquivos, extensões e rotinasArquivos, extensões e rotinasCriação de uma nova funçãoCriação de uma nova funçãoGráficos tridimensionaisGráficos tridimensionaisCores de MapasCores de Mapas

Page 3: Curso basico matlab

IntroduçãoIntroduçãoIntroduçãoIntrodução

O programa computacional MATLAB é um ambiente de computação O 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 um Apresenta diversos pacotes de ferramentas toolbox que são um conjunto de algoritmos especialmente desenvolvidos para conjunto de algoritmos especialmente desenvolvidos para aplicações específicas.aplicações específicas.

Page 4: Curso basico matlab

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écnicaAmbiente de desenvolvimento e administração de código, arquivos, e Ambiente de desenvolvimento e administração de código, arquivos, e dados dados Ferramentas interativas para exploração, desígnio e resolução de Ferramentas interativas para exploração, desígnio e resolução de problemasproblemasproblemas problemas Funções matemáticas para álgebra linear, estatísticas, análise de Funções matemáticas para álgebra linear, estatísticas, análise de Fourier, filtragem, otimização, e integração numérica Fourier, 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--D D Ferramentas para construção de interfaces com usuário Ferramentas para construção de interfaces com usuário Funções que integram MATLAB funcionam como base de algoritmos Funçõ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,

Page 5: Curso basico matlab

Janela Principal do ProgramaJanela Principal do Programa

Page 6: Curso basico matlab

Principais SubPrincipais Sub--janelas do Programajanelas do ProgramaJanela de comandoJanela de comando WorkspaceWorkspace

Comand WindowComand Window

Page 7: Curso basico matlab

Manipulação de MatrizesManipulação de MatrizesRevendedorRevendedor AutomóvelAutomóvel CaminhoneteCaminhonete CaminhãoCaminhão

RevendedorRevendedor 1540015400 1820018200 4620046200

Comando XLSREAD(‘*.xls) Comando XLSREAD(‘*.xls) carrega o arquivo que carrega o arquivo que contém os valores;contém os valores; Revendedor Revendedor

AA1540015400 1820018200 4620046200

Revendedor Revendedor BB

1620016200 1790017900 4750047500

contém os valores;contém os valores;Quantidades de cada item Quantidades de cada item determinadas em uma determinadas em uma matriz;matriz;

Revendedor Revendedor CC

1515015150 1900019000 4800048000matriz;matriz;Multiplicando as matrizes Multiplicando as matrizes podepode--se comparar os preços se 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 por total 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 =

escolha escolha

156800156800161500161500

15400 18200 4620015400 18200 4620016200 17900 4750016200 17900 4750015150 19000 4800015150 19000 48000

331122

160450160450

15150 19000 4800015150 19000 48000 22

Page 8: Curso basico matlab

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 15680016200 17900 47500 16150016200 17900 47500 16150015150 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 ( , ))

Page 9: Curso basico matlab

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))

Page 10: Curso basico matlab

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 de Utilização de ferramenta de busca para opção de busca para opção de comando;comando;L it d iL it d iLeitura de imagem em Leitura de imagem em formato .JPGformato .JPGSalvar a variável em arquivo Salvar a variável em arquivo .m que consta em .m que consta em workspace .workspace .Amostragem para análise Amostragem para análise da composição da imagem. da composição da imagem.

Carregando variável salva para ser Carregando variável salva para ser usada em outro trabalhousada em outro trabalho

Page 11: Curso basico matlab

Carregando algoritmo práticoCarregando algoritmo prático

O comando figure é um O comando figure é um suporte sempre suporte sempre

á i dá i dnecessário quando necessário quando desejadeseja--se amostrar se amostrar imagem. É designado imagem. É designado atra és da interfaceatra és da interfaceatravés da interface atravé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 em As linhas de programação ficam gravadas em arquivos Marquivos M--file ou arquivos de extensão .m file ou arquivos de extensão .m

Page 12: Curso basico matlab

Operações com VetoresOperações com VetoresCriaçã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 t h t

>> whos>> whosName Size Bytes ClassName Size Bytes ClassName Size Bytes ClassName Size Bytes Class

h 1x11 88 double arrayh 1x11 88 double arrayt 1x11 88 double arrayt 1x11 88 double array

Grand total is 22 elements using 176 bytesGrand total is 22 elements using 176 bytes

Page 13: Curso basico matlab

Funções MatemáticasFunções MatemáticasPara facilmente escrever linhas de expressão matemática, Matlab Para 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 de Constantes 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 elementares se 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

wtwtwq 12

)13)(tan10sin( +−+−=

17252

3

2

+−=

+xyyxt

Page 14: Curso basico matlab

Implementação de FunçõesImplementação de Funções>> x=4; y=3;>> x=4; y=3;>> t=(2*x^2>> t=(2*x^2--5*y)/(sqrt(2*y^(35*y)/(sqrt(2*y^(3--x)+17))x)+17))ttt =t =

4.04464.0446>> w=(5*x+3>> w=(5*x+3--x^3x^3--y^3)/(2*yy^3)/(2*y--xx--4*y^2)4*y^2)

w =w =w =w =

22>> q=(sin(w)^3>> q=(sin(w)^3--t^4/10+tan(w))*(t^4/10+tan(w))*(--sqrt(t*3+1))/12*wsqrt(t*3+1))/12*w

q =q =qq

17.028917.0289

Page 15: Curso basico matlab

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 67 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ância Sendo a matriz de variância diagonal da matriz de diagonal da matriz de covânciacovância

Li d l b li í iLi d l b li í i

covariâncias resumecovariâncias resume se a se 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

Page 16: Curso basico matlab

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);

Page 17: Curso basico matlab

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;

Page 18: Curso basico matlab

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:10a<=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:paraa=7:10; C(a)=a;a=7:10; C(a)=a;endend

>> stem(C)>> stem(C)

declaraçõesdeclaraçõesendend

stem(C) stem(C)>> for m=1:10>> for m=1:10x(m)=m^2;x(m)=m^2;end;end;end;end;>> x(3)>> x(3)

ans =ans =

99

Page 19: Curso basico matlab

Estruturas ifEstruturas if--elseelse--endendMatlab tem quatro tipos de afirmações Matlab 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 baseadas Elas 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 testedeclaraçõesdeclaraçõesE dE d

retorno=retorno=--1;1;else else

retorno=0;retorno=0;EndEnd end end

O teste é uma expressão em que há 1(verdadeiro) ou 0(falso) é executado O 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ão entre 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.

Page 20: Curso basico matlab

Estrutura switch, case, otherwiseEstrutura switch, case, otherwise

MM--file switchx.mfile switchx.mA forma básica de parâmetros do A forma básica de parâmetros do switch eswitch e´́: :

switch xswitch xcase 1case 1di (' i 1')di (' i 1')

switch testeswitch testecase 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 resultado1declaraçãodeclaraçãocase resultado2case resultado2d 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çãoendend

>> x=5;>> x=5;Pressione o botão run:Pressione o botão run:

A expressão em switch case só pode A 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 5ser um escalar ou uma string.ser um escalar ou uma string.

Page 21: Curso basico matlab

WhileWhile

while testewhile testedeclaraçãodeclaração

n = 1;n = 1;hil (1 ) 1000hil (1 ) 1000declaraçãodeclaração

endendwhile sum(1:n)<=1000while sum(1:n)<=1000n = n+1;n = n+1;endend

As declarações são executadas repetidamente enquanto o valor de As declarações são executadas repetidamente enquanto o valor de teste for igual a 1, por exemplo, achar o primeiro inteiro n para qual teste 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:

Page 22: Curso basico matlab

Área de um Polígono com WhileÁrea de um Polígono com Whilemat=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;endm=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;endarea=abs((soma-soma2)/2)(( ) )

Page 23: Curso basico matlab

PlotagemPlotagemO comando axis ajusta a escala do gráfico às coordenadas dos pontos O 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 2 2 2 --2 2])2 2])>> axis square %forma quadrada >> axis normal ou>> axis square %forma quadrada >> axis normal ou>> x=[>> x=[--1 1 1 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 2 2 2 --2 2])2 2])

subplot trabalha com multiplicidade de subplot trabalha com multiplicidade de gráficosgráficosgráficos grá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)

Page 24: Curso basico matlab

Comando subplotComando subplot>> t = 0:.1:2*pi;subplot(2,2,1)

l t( (t) i (t))

subplot 221plot(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 222plot(0,’*’)subplot 212subplot(2,2,3)

plot(cos(t),sin(3*t))subplot(2,2,4)plot(cos(t) sin(4*t))

pplot([1 0 1 0])

plot(cos(t),sin(4 t))

Sendo o primeiro índice o número de eixos na Sendo 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 na vertical, o segundo número de eixos na horizontal e o último o número de ordem ou horizontal e o último o número de ordem ou posição. posição.

Page 25: Curso basico matlab

Propriedades de Gráficos Propriedades 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áfico Inserir 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ções se 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 e se 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')

Page 26: Curso basico matlab

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 offfor i = 1:10

text(x(i),y(i),int2str(i))end

Page 27: Curso basico matlab

Comando plot3Comando plot3Matlab apresenta um gráfico Matlab 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)

Page 28: Curso basico matlab

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)

Page 29: Curso basico matlab

Arquivos, extensões e rotinasArquivos, extensões e rotinasAs 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 )

Page 30: Curso basico matlab

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 a se 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 o se 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])

Page 31: Curso basico matlab

Gráficos tridimensionaisGráficos tridimensionais

>> [x,y] = meshgrid(-10:10);sqrt( ^2 + ^2)z = sqrt(x.^2 + y.^2);

>> mesh(x,y,z)

Page 32: Curso basico matlab

Tipos de representaçõesTipos de representações

3*(1 ) ^2 * ( ( ^2) ( 1) ^2)z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...- 1/3*exp(-(x+1).^2 - y.^2);

[x,y,z] = peaks;colormap(gray)

plot(z) mesh(x,y,z)plot(z) ( y )

Page 33: Curso basico matlab

>> 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

Page 34: Curso basico matlab

Outros tipos de representaçõesOutros tipos de representações

>> surfc(x,y,z)

>> contourf(x,y,z)( ,y, )

Page 35: Curso basico matlab

Cores de MapasCores de MapasPodePode--se criar seu próprio traço ou usar qualquer mapa de cores se 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

Red Red GreenGreen BlueBlue ColourColour

00 00 00 BlackBlack

11 11 11 WhitWhitprism 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 para Colormap. Matlab usa matrizes para aplicar cores em mapas imagens e aplicar cores em mapas imagens e

11 .62.62 .4.4 Dark orangeDark orange

.49.49 11 .83.83 AquamarineAquamarine

superfícies tendo elas as superfícies tendo elas as especificações:especificações:

.95.95 .9.9 .8.8 ParchmentParchment

Page 36: Curso basico matlab

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 fileFormatos 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

ReturnsCommand Spreadsheet Formats

Double arrayDLMREADTAB - Tab separated text

Double array and cell arrayWK1READWK1 - Lotus 123 worksheet

Double array and cell arrayXLSREAD XLS - Excel worksheet

Primary or extension table dataFITSREADFITS - Flexible Image Transport System

Cell array of CDF recordsCDFREAD CDF - Common Data Format

ReturnsCommand Scientific Data Formats

HDF or HDF-EOS data set HDFREAD HDF - Hierarchical Data Format

Page 37: Curso basico matlab

Formatos suportados para arquivos de imagem, áudio e filmeFormatos suportados para arquivos de imagem, áudio e filme

Truecolor, grayscale or indexed image(s)

IMREAD TIFF – Tagged image format ReturnsCommand Image Formats

Truecolor or indexed image(s)IMREAD HDF – Hierarchial data format

Truecolor, grayscale or indexed image

IMREAD PNG – Portable network graphics

R tC dA di F t

Truecolor or indexed imageIMREAD BMP – Windows bitmap g ( )

Sound data and sample rateAUREADSND – Next/Sun Sound Sound data and sample rateAUREAD AU – Next/Sun Sound ReturnsCommand Audio Formats

ReturnsCommandMovie Formats

Sound data and sample rateWAVREAD WAV – Microsoft Wave Sound

MATLAB movieAVIREAD AVI - Movie ReturnsCommand Movie Formats