MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. [email protected]...

37
MATLAB-CURSO BÁSICO MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. [email protected] [email protected] Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. Joseph Kalil Khoury Junior, Prof. UFRRJ-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] UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO IT – Departamento de Engenharia IT – Departamento de Engenharia MÁQUINAS E ENERGIA NA AGRICULTURA MÁQUINAS E ENERGIA NA AGRICULTURA Ambiente de computação para desenvolvimento de sistemas sofisticados

Transcript of MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. [email protected]...

Page 1: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

MATLAB-CURSO BÁSICOMATLAB-CURSO BÁSICO

Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. [email protected]@ufrrj.brJoseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. [email protected]@ufrrj.br Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. [email protected]@ig.com.br

UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIROUNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIROIT – Departamento de EngenhariaIT – Departamento de Engenharia

MÁQUINAS E ENERGIA NA AGRICULTURAMÁQUINAS E ENERGIA NA AGRICULTURA

Ambiente de computação para desenvolvimento de sistemas sofisticados

Page 2: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

ConteúdoConteúdo Introdução Principais Recursos do Programa Janela Principal do Programa Principais Sub-janelas do Programa Manipulação de Matrizes Matrizes e gráficos para análise de dadosMatrizes e gráficos para análise de dados Janelas e FerramentasJanelas e Ferramentas Comandos de alto nívelComandos de alto nível Operações com VetoresOperações com Vetores Funções MatemáticasFunções Matemáticas MatrizesMatrizes Comando for-switch-case-otherwise-whileComando for-switch-case-otherwise-while Plotagem de gráficosPlotagem de gráficos 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 Mapa de CoresMapa de Cores

Page 3: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

IntroduçãoIntrodução O programa computacional MATLAB é um ambiente O programa computacional MATLAB é um ambiente

de computação técnico-científica para o de computação técnico-científica para o desenvolvimento de sistemas sofisticados desenvolvimento de sistemas sofisticados ( MATSUMOTO, 2002); ( MATSUMOTO, 2002);

É extensivamente usado para exploração, análise e É extensivamente usado para exploração, análise e resolução de problemas em diversas áreas do resolução de problemas em diversas áreas do conhecimento;conhecimento;

Apresenta diversos pacotes de ferramentas ‘toolbox’ Apresenta diversos pacotes de ferramentas ‘toolbox’ que são um conjunto de algoritmos especialmente que são um conjunto de algoritmos especialmente desenvolvidos para aplicações específicas.desenvolvidos para aplicações específicas.

Page 4: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Principais Recursos do ProgramaPrincipais Recursos do Programa Linguagem de alto-nível para computação técnicaLinguagem de alto-nível para computação técnica Ambiente de desenvolvimento e administração de código, Ambiente de desenvolvimento e administração de código,

arquivos, e dados arquivos, e dados Ferramentas interativas para exploração, desígnio e resolução Ferramentas interativas para exploração, desígnio e resolução

de problemas de problemas Funções matemáticas para álgebra linear, estatísticas, análise Funções matemáticas para álgebra linear, estatísticas, análise

de Fourier, filtragem, otimização, e integração numérica de Fourier, filtragem, otimização, e integração numérica Funções para visualizar dados de gráficos 2-D e 3-D Funções para visualizar dados de gráficos 2-D e 3-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 Funções que integram MATLAB funcionam como base de

algoritmos com aplicações externas e idiomas, como C, C++, algoritmos com aplicações externas e idiomas, como C, C++, Fortran, Java, COM, e Microsoft Excel, Fortran, Java, COM, e Microsoft Excel,

Page 5: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Janela Principal do ProgramaJanela Principal do Programa

clc – limpa tela

whos – exibe variáveis memória

clear – limpa varáveis memória

Page 6: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Principais Sub-janelas do ProgramaPrincipais Sub-janelas do ProgramaJanela de comandoJanela de comando WorkspaceWorkspace

Comand WindowComand Window

Page 7: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Manipulação Manipulação MatrizesMatrizes Comando xlsread(‘*.xls) Comando xlsread(‘*.xls)

carrega o arquivo Excel;carrega o arquivo Excel; Quantidades de cada Quantidades de cada

item determinadas em item determinadas em uma matriz;uma matriz;

Valores de brixValores de brix

Page 8: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Matrizes e gráficosMatrizes e gráficos>> plot(x,y,'r.')>> plot(x,y,'r.')

Page 9: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

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: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Janelas e FerramentasJanelas e Ferramentas Escolha de diretório;Escolha de diretório; Utilização de ferramenta de Utilização de ferramenta de

busca para opção de busca para opção de comando;comando;

Leitura de imagem em Leitura de imagem em formato .JPGformato .JPG

Salvar 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: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Comandos de alto nívelComandos de alto nível

As linhas de programação ficam gravadas em As linhas de programação ficam gravadas em arquivos M-file ou arquivos de extensão .m arquivos M-file ou arquivos de extensão .m

O comando figure é um O comando figure é um suporte sempre suporte sempre necessário quando necessário quando deseja-se amostrar deseja-se amostrar imagens. É designado imagens. É designado através da interface através da interface programa-usuárioprograma-usuário

Page 12: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Operações com VetoresOperações com VetoresCriaçãoCriação>>t=[0 2 4 6 8 10 12 14 16 18 20]>>t=[0 2 4 6 8 10 12 14 16 18 20]OuOu>>t1= 0:2:20>>t1= 0:2:20>> h=1:3:32>> h=1:3:32

ManipulaçãoManipulação>> h1=h+2>> h1=h+2>> v=t+h>> v=t+h>> t1=t*5>> t1=t*5>> b=t*h‘>> b=t*h‘>> b1=t.*h>> b1=t.*h>> b2=t/h>> b2=t/h

>> who>> who

Your variables are:Your variables are:

h t h t

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

Page 13: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Funções MatemáticasFunções Matemáticas

17252

3

2

xyyxt

233 4235 yxyyxxw

Para 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 -1, Constantes geralmente usadas como pi, e i ou j para a raiz quadrada de -1, também está incorporado em Matlab. também está incorporado em Matlab.

Encontra-se todas as funções matemáticas elementares Encontra-se todas as funções matemáticas elementares listadas através do comando: >> help elfunlistadas através do comando: >> help elfun

wtwtwq 12

)13)(tan10sin( 43

3x 4y

Page 14: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

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

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

w =w =

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

q =q =

17.028917.0289

Page 15: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

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 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=[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]

help matfunhelp matfun

Livro de algebra linear exercícioLivro de algebra linear exercício

O cálculo de transpostas, O cálculo de transpostas, inversas, inversas, determinantes,diagonais, determinantes,diagonais, covariâncias resume-se a covariâncias resume-se a comandos como: comandos como:

>> inv(x)>> inv(x)

>> b=rand(6)>> b=rand(6)>> var(b)>> var(b)>> cov(b)>> cov(b)Sendo a matriz de variância Sendo a matriz de variância

diagonal da matriz de diagonal da matriz de covânciacovância

Page 16: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

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

uniformementeuniformemente>> randn(4) matriz com elementos aleatórios distribuídos >> randn(4) matriz com elementos aleatórios distribuídos

normalmentenormalmente>> 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) em que o ultimo algarismo responde sobre a em que o ultimo algarismo responde sobre a

dimensão dois, a das colunas. Poderia ser 3, a das linhas. E 4, a dimensão dois, a das colunas. Poderia ser 3, a das linhas. E 4, a das bandas.das bandas.

>>d=peaks(25);>>d=peaks(25);

Page 17: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

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

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=c-Hc;dif=c-Hc;inda=find(dif < 0);indc=find(dif > 0);inda=find(dif < 0);indc=find(dif > 0);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;

Sistematização de terreno pelo ‘Método do Plano Único’Sistematização de terreno pelo ‘Método do Plano Único’

Programação simplesProgramação simples

Page 18: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Comandos for-if-else-end-switch-case-Comandos for-if-else-end-switch-case-otherwise-whileotherwise-while

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

A forma básica do comando for é:A forma básica do comando for é:

for índice = começa:incremento:parafor índice = começa:incremento:paradeclaraçõesdeclaraçõesendend

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

ans =ans =

99

Page 19: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Estruturas if-else-endEstruturas if-else-end

Matlab tem quatro tipos de afirmações Matlab tem quatro tipos de afirmações são if, elseif, else,endsão if, elseif, else,end

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 testeIf teste declaraçõesdeclarações EndEnd

function retorno=posneg(ent)function retorno=posneg(ent)if all(ent>0)if all(ent>0) retorno=1;retorno=1;elseif all (ent<0)elseif all (ent<0) retorno=-1;retorno=-1;else else retorno=0;retorno=0;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ã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: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Estrutura switch, case, otherwiseEstrutura switch, case, otherwise

switch xswitch xcase 1case 1disp('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 5case 5disp('x is 5');disp('x is 5');otherwiseotherwisedisp('x is not 1, 2, 3, 4 or 5');disp('x is not 1, 2, 3, 4 or 5');endend

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

M-file switchx.mM-file switchx.m A forma básica de parâmetros do A forma básica de parâmetros do

switch e´: switch e´:

switch testeswitch teste case resultado1case resultado1 declaraçãodeclaração case resultado2case resultado2 declaraçãodeclaração ...... otherwiseotherwise declaraçãodeclaração endend

A expressão em switch case só pode A expressão em switch case só pode ser um escalar ou uma string.ser um escalar ou uma string.

Page 21: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

WhileWhile

while testewhile teste declaraçãodeclaração endend

n = 1;n = 1;while 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:

Page 22: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Á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);a=size(x,1);n=1;soma=0;while n<a;mult=x(n,1)*y(n+1,1);soma=soma+mult;n=n+1;endm=1;soma2=0;while m<a;mult2=x(m+1,1)*y(m,1);soma2=soma2+mult2;m=m+1;endarea=abs((soma-soma2)/2)

Page 23: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Plotagem de GráficosPlotagem de Gráficos O comando axis ajusta a escala do gráfico às coordenadas O comando axis ajusta a escala do gráfico às coordenadas

dos pontos plotados.dos pontos plotados. Sintaxe: axis([xmin xmax ymin ymax]) Sintaxe: axis([xmin xmax ymin ymax])

>> x1=-1;y1=-1;x2=1;y2=-1;x3=-1;y3=1;x4=1;y4=1;>> x1=-1;y1=-1;x2=1;y2=-1;x3=-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')>> axis([-2 2 -2 2])>> axis([-2 2 -2 2])>> axis square %forma quadrada >> axis normal ou>> axis square %forma quadrada >> axis normal ou>> x=[-1 1 -1 1] ; y=[-1; -1; 1; 1] ; plot(x,y,'.r');axis([-2 2 ->> x=[-1 1 -1 1] ; y=[-1; -1; 1; 1] ; plot(x,y,'.r');axis([-2 2 -2 2])2 2]) subplot trabalha com multiplicidade de subplot trabalha com multiplicidade de grá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: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Comando subplotComando subplot>> t = >> t = 0:.1:2*pi;0:.1:2*pi;subplot(2,2,1)subplot(2,2,1)plot(cos(t),sin(t)plot(cos(t),sin(t)))subplot(2,2,2)subplot(2,2,2)plot(cos(t),sin(2plot(cos(t),sin(2*t))*t))subplot(2,2,3)subplot(2,2,3)plot(cos(t),sin(3plot(cos(t),sin(3*t))*t))subplot(2,2,4)subplot(2,2,4)plot(cos(t),sin(4plot(cos(t),sin(4*t))*t))

subplot 221plot(1:10)subplot 222plot(0,’*’)subplot 212plot([1 0 1 0])

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 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: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Propriedades de Gráficos Propriedades de Gráficos Para colocar rótulos em gráficos pode-se usar a função xlabel, Para colocar rótulos em gráficos pode-se usar a função xlabel,

ylabel, and titleylabel, and title >> xlabel(‘eixo x'); ylabel(‘eixo y'); title(‘pontos no plano')>> xlabel(‘eixo x'); ylabel(‘eixo y'); title(‘pontos no plano') 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')

Pode-se especificar o estilo de linha, o símbolo que marca o ponto e Pode-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)>> plot(x,y,'-.or')>> plot(x,y,'-.or')

>> plot(x,y,'-hk')>> plot(x,y,'-hk')

Em help plot visualiza-se as especificações Em help plot visualiza-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 = 1.05');axis([0 max(t) -1 1])

Page 26: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Propriedades de GráficosPropriedades de Gráficos

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

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

Page 27: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Comando plot3Comando plot3 Matlab apresenta um gráfico Matlab apresenta um gráfico

tridimensional com plot3:tridimensional com plot3: >> 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;x=cos(th);y=sin(th);z=th;plot3(x,y,z)

Page 28: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Representações em coordenadas polaresRepresentações em coordenadas polares

>> th=0:2*pi/100:2*pi;rho=3*th;polar(th,rho)

Page 29: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Arquivos, extensões e rotinasArquivos, extensões e rotinas

clear, clfclear, clf>>x1=1;y1=.5;x2=2;y2=1.5;x3=>>x1=1;y1=.5;x2=2;y2=1.5;x3=3;y3=2;3;y3=2;>>plot(x1,y1,'o',x2,y2,'+',x3,y3,'*'>>plot(x1,y1,'o',x2,y2,'+',x3,y3,'*'))>>axis([0 4 0 4])>>axis([0 4 0 4])>>xlabel('xaxis')>>xlabel('xaxis')>>ylabel('yaxis')>>ylabel('yaxis')>>title('3points in a plane')>>title('3points in a plane')

As rotinas para automação de atividades também são gravados em As rotinas para automação de atividades também são gravados em arquivos de extensão .m e carregados sempre que necessário; 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 File>New>M-File Copiar as linhas de programação com sintaxe correta e salvar;salvar;

File>Open>(escolha) Desde que o arquivo esteja no diretório corrente;File>Open>(escolha) Desde que o arquivo esteja no diretório corrente; Botão para compilação ou prompt digitando o nome do arquivo. Botão para compilação ou prompt digitando o nome do arquivo. As variáveis de trabalho podem ser armazenadas em arquivos de As variáveis de trabalho podem ser armazenadas em arquivos de

extensão .mat através do menu File> Save Workspace As... E carregadas extensão .mat através do menu File> Save Workspace As... E carregadas da mesma maneira que um M_File.da mesma maneira que um M_File.

Page 30: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Criação de uma nova funçãoCriação de uma nova função É necessário criar um arquivo .m denominado da mesma É necessário criar um arquivo .m denominado da mesma

forma que a função;forma que a função; Em sua primeira linha escreve-se o comando function e Em sua primeira linha escreve-se o comando function e

segue a descrição dos parâmetros da nova função.segue a descrição dos parâmetros da nova função.

Para a amostragem geométrica da função em seu domínio usa-se o Para a amostragem geométrica da função em seu domínio usa-se o comando fplot delimitando os intervaloscomando fplot delimitando os intervalos

>> fplot ('andre',[-2,7])

Page 31: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Gráficos tridimensionaisGráficos tridimensionais>> [x,y] = meshgrid(->> [x,y] = meshgrid(-10:10);10:10);z = sqrt(x.^2 + y.^2);z = sqrt(x.^2 + y.^2);>> mesh(x,y,z)>> mesh(x,y,z)

Page 32: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Tipos de representaçõesTipos de representações

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

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

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

Page 33: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

>> surf(x,y,z)>> surf(x,y,z)>> shading flat>> shading flat

>> surfl(x,y,z)>> shading flat

>> contour(x,y,z) >> imagesc(z)>> axis xy

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

Page 34: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

>> contourf(x,y,z)

>> surfc(x,y,z)

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

Page 35: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

Mapa de CoresMapa de Cores Pode-se usar ‘colormap’ predefinido ou criar seu próprio colormap;Pode-se usar ‘colormap’ predefinido ou criar seu próprio colormap; Matlab usa matrizes para aplicar cores em mapas, imagens e Matlab usa matrizes para aplicar cores em mapas, imagens e

superfícies.superfícies.

hsv hot gray bone copper pink white flag lines colorcube jet prism cool autumn spring winter summer

>> colormap (‘hot’)>> colormap ([.5 .5 .5])

Colormap especificadoColormap especificado

ParchmentParchment.8.8.9.9.95.95

AquamarineAquamarine.83.8311.49.49

Dark orangeDark orange.4.4.62.6211

Dark redDark red0000.5.5

GrayGray.5.5.5.5.5.5

CyanCyan111100

MagentaMagenta110011

YellowYellow001111

BlueBlue110000

GreenGreen001100

RedRed000011

WhiteWhite111111

BlackBlack000000

ColourColourBlueBlueGreenGreenRed Red

>> gray(8)

Colormap predefinidoColormap predefinido

Page 36: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

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

Primary or extension table dataFITSREADFITS - Flexible Image Transport System

Cell array of CDF recordsCDFREAD CDF - Common Data Format

ReturnsCommand Scientific Data Formats

Double array and cell arrayWK1READWK1 - Lotus 123 worksheet

Double array and cell arrayXLSREAD XLS - Excel worksheet

ReturnsCommand Spreadsheet Formats

Double arrayDLMREADTAB - Tab separated text

Double arrayDLMREADDLM - Delimited text

Double arrayIMPORTDATADAT - Formatted text

Double arrayTEXTREADTXT – Formatted data in a text file

Double arrayCSVREADCSV - Comma separated numbers

Variables in fileLOADMAT - MATLAB workspace

ReturnsCommandData Formats

Formatos suportados para arquivos de dadosFormatos suportados para arquivos de dados

Page 37: MATLAB-CURSO BÁSICO Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br.

MATLAB movieAVIREAD AVI - Movie

ReturnsCommand Movie Formats

Sound data and sample rateWAVREAD WAV – Microsoft Wave Sound

Sound data and sample rateAUREADSND – Next/Sun Sound

Sound data and sample rateAUREAD AU – Next/Sun Sound

ReturnsCommand Audio Formats

Truecolor or indexed imageIMREAD BMP – Windows bitmap

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

Truecolor, grayscale or indexed image

IMREAD PNG – Portable network graphics

Truecolor, grayscale or indexed image(s)

IMREAD TIFF – Tagged image format

ReturnsCommand Image Formats

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