Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br UFRRJKeilla Boehler, Aluna do Curso de Engenharia Agrcola, UFRRJ. keillambidao@ig.com.br
Sair
Contedo
Introduo Introd o Principais Recursos do Programa Janela Principal do Programa Principais Sub-janelas do Programa SubManipulao 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 tcnicotcnico-cientfica para o desenvolvimento de sistemas sofisticados ( MATSUMOTO, 2002); extensivamente usado para explorao, anlise e resoluo de problemas em diversas reas do conhecimento; Apresenta diversos pacotes de ferramentas toolbox que so um toolbox conjunto de algoritmos especialmente desenvolvidos para aplicaes especficas.
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 podepode-se comparar os preos total ofertado no total por cada revendedor.
>> precos= XLSREAD('exemplo novo xls'); novo.xls ); >> precos precos = 15400 16200 15150 18200 17900 19000 46200 47500 48000 Revendedor Revendedor A Revendedor B Revendedor C Automvel 15400 16200 15150 Caminhonete 18200 17900 19000 Caminho 46200 47500 48000
>> bar(grafico)
>> plot(revendedor,grafico(:,1)) p ( ,g ( , ))
>> plot(revendedor,grafico(:,3))
>> plot(revendedor,grafico(:,4))
Janelas e Ferramentas
Escolha de diretrio; Utilizao Utili ao de ferramenta de busca para opo de comando; Leitura d i L it de imagem em formato .JPG Salvar a varivel em arquiv .m que consta em workspace . Amostragem para anlise da composio da imagem.
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. EncontraEncontra-se todas as funes matemticas elementares listadas atravs do comando: >> help elfun
x=3
y=4
w = 5x + 3 x3 y3 2 y x 4 y 2
q=
2x2 5 y t=
12w
2 y 3+x + 17
Implementao de Funes
>> 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^(3t= 4.0446 >> w=(5*x+3-x^3-y^3)/(2*y-x-4*y^2) w=(5*x+3-x^3-y^3)/(2*yw= 2 >> q=(sin(w)^3-t^4/10+tan(w))*(-sqrt(t*3+1))/12*w q=(sin(w)^3-t^4/10+tan(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 4 5 6 7 8 9] 3,4 6,7 >> b=[1 2 2;3 2 4; 5 2 1]; >> d=[b,a]
O clculo de transpostas transpostas, inversas, determinantes,diagonais, resumecovarincias resume-se a comandos como: >> inv(x)
>> b=rand(6) b rand(6) >> var(b) >> cov(b) Sendo a matriz de varincia diagonal da matriz de covncia
help h l matfun tf
Programao simples
Sistematizao de terreno pelo Mtodo do Plano nico c =input('cotas das amostras ordenadas na sequencia da malha:') input( cotas 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=cdif=c-Hc; inda=find(dif < 0);indc=find(dif > 0); dist=input('distancia dist inp t('distancia entre pontos da malha:'); 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 >> for a=1:10 a<=3; C(a)=a^2; a=3:7; C(a)=a+5; a=7:10; C(a)=a; end >> stem(C)
Estruturas if-else-end if-elseMatlab 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 End E d function retorno=posneg(ent) if all(ent>0) all(ent 0) retorno=1; elseif all (ent<0) retorno=-1 retorno=-1; t else retorno=0; end
O teste uma expresso em que h 1(verdadeiro) ou 0(falso) executado entre o if e end e retorna se o teste der verdadeiro, quando falso so ignoradas as declaraes. Testes adicionais podem ser feitos usando elseif e else.
While
while teste declarao end n = 1; while sum(1:n)<=1000 hil (1 ) 1000 n = n+1; end
As declaraes so executadas repetidamente enquanto o valor de teste for igual a 1, por exemplo, achar o primeiro inteiro n para qual 1+2+ +n 1+2+ +n maior que 1000:
Plotagem
O comando axis ajusta a escala do grfico s coordenadas dos pontos plotados. Sintaxe: axis([xmin xmax ymin ymax]) ([ y y ]) >> 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=>> plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o') >> axis([-2 2 -2 2]) axis([i ([ >> axis square %forma quadrada >> axis normal ou >> x=[-1 1 -1 1] ; y=[-1; -1; 1; 1] ; plot(x,y,'.r');axis([-2 2 -2 2]) x=[y=[plot(x,y,'.r');axis([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)) subplot(2,2,3) s bplot(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 212 p plot([1 0 1 0])
Sendo o primeiro ndice o nmero de eixos na vertical, vertical o segundo nmero de eixos na horizontal e o ltimo o nmero de ordem ou posio.
Propriedades de Grficos
Para colocar rtulos em grficos pode-se usar a funo xlabel, ylabel, podeand title >> xlabel(eixo x'); ylabel(eixo y'); title(pontos no plano') ( ); y ( y ); (p p ) Inserir texto em ponto de sua escolha no grfico >>gtext('P1');gtext('P2');gtext('P3');gtext('P4') Em help plot visualiza-se as especificaes visualizadas caractersticas do grfico >> t = 0:.1:2*pi; plot(t,sin(t),t,sin(1.05*t)) >> gtext('frequency = 1');gtext('frequency g ( q y )g ( q y = 1.05');axis([0 max(t) -1 1]) PodePode-se especificar o estilo de linha o smbolo que marca o ponto e linha, cor do grfico ainda pelo prompt. >> x=[4 5 6; 1 2 3]; y=(x.^2) >> plot(x,y,''-.or') plot(x,y,'- ') l t( >> plot(x,y,'-hk') plot(x,y,'-
Propriedades de Grficos
>> 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; y1=4; z1=5; 1 3 1 4 1 5 >> plot3(x1,y1,z1,'*')
Para a amostragem geomtrica da funo em seu domnio usa-se o usacomando f l d li i d os i d fplot delimitando intervalos l
>> fplot ( andre ,[ 2,7]) ('andre',[-2,7])
Grficos tridimensionais
>> [x,y] = meshgrid(-10:10); z = sqrt( ^2 + y.^2); sqrt(x.^2 ^2) >> mesh(x,y,z)
Tipos de representaes
z = 3*(1 ) ^2 * 3*(1-x).^2.*exp(-(x.^2) - ( 1) ^2) ... ( ( ^2) (y+1).^2) - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ... - 1/3*exp(-(x+1).^2 - y.^2);
plot(z)
mesh(x,y,z) ( y )
>> contour(x,y,z)
Cores de Mapas
PodePode-se criar seu prprio trao ou usar qualquer mapa de cores predefinidas disponveis
hsv hot gray bone copper pink white flag lines colorcube jet prism cool autumn spring winter summer >> colormap (hot) l (h t) >> colormap ([.5 .5 .5])
Red 0 1 1 0 0 1 1 0 Green 0 1 0 1 0 1 0 1 .5 0 .62 1 .9 Blue 0 1 0 0 1 0 1 1 .5 0 .4 .83 .8 Colour Black White Whit Red Green Blue Yellow Magenta Cyan Gray Dark red Dark orange Aquamarine Parchment
>> gray(8)
.5 .5
Colormap. Matlab usa matrizes para aplicar cores em mapas imagens e superfcies tendo elas as especificaes:
1 .49 .95