Você está na página 1de 20

Matlab Parte1

Prof.Ilton Aula6

TpicosdestaApresentao 1. 2. 3. 4. 5. 6. 7. 8. 9. OqueoMatlab? JanelasdoMatlab VariveiseMatrizes OperadoresnoMatlab (Aritmticos, LgicoseRelacionais) ComandosdeEntradaeSada EstruturasdeControledeFluxo Programao(Arquivos.m) Funes Toolboxes
2/24

OqueoMatlab?
O MATLAB (do ingls Matrix Laboratory) um software de computao numrica de anlise e visualizao de dados. Embora seu nome signifique Laboratrio de Matrizes, seus propsitos atualmente so bem mais amplos. O Matlab nasceu como um programa para operaes matemticas sobre matrizes, mas ao longo dos anos transformouse em um sistema computacional bastante til e flexvel. Seu ambiente de trabalho fcil de ser utilizado, pois os problemas e solues so escritos em linguagem matemtica e no na linguagem de programao tradicional, como muitos outros softwares utilizam. Assim o MATLAB uma ferramenta e uma linguagem de programao de alto nvel, e tem como principais funes: construo de grficos e compilao de funes, manipulao de funes especficas de clculo e variveis simblicas. Alm disso, o MATLAB possui uma grande quantidade de bibliotecas auxiliares (Toolboxes) que otimizam o tempo gasto para realizar tarefas, uma vez que, o usurio poder utilizar muitas funes j definidas, poupando o tempo de cri las. Por outro lado, infelizmente, os programas feitos so difceis de serem executados num ambiente fora do MATLAB.
3/24

OqueoMatlab?
MATLAB uma linguagem de alto nvel que possui toolboxes especializadas para facilitar a vida do programador.

Matlab

Linguagemdealtonvel comoC,Java,Phynton,etc A ferramenta traz tambm muitas facilidades para elaborao de grficos e interfaces para usurio: Telas grficas de programao (botes, menus, radio button, etc;
4/24

Assembly

TeladeEntradadoMatlab

1 JaneladeComandos 2 JaneladasVariveisnaMemria 3 HistricodosComandos

4 PastadeTrabalho 5 MudaaPastadeTrabalho
5/24

Nota:AoiniciarnoMatlab,ajusteasuapastadetrabalho,em5

JanelasnoMatlab

As janelas do Matlab so flexveis, podendo fechar, abrir, mudar o tamanho, mudar o layout, abrir nova janela, etc; Para restaurar a janela padro use o procedimento acima.
6/24

JanelasnoMatlab

Para iniciar a edio de um programa em Matlab v em File / New / Script Ou opcionalmente tecle: CTRL + N.
7/24

ComandosdePropsitogeraledeMemria
Comando
help helpwin ver whatsnew bench who whos clear Pack Save /Load quit What dos

Descrio
Ajuda em tempo real (online). O texto apresentado na tela da linha de comando. Ex: >> help disp Ajuda em tempo real (online). O texto apresentado em uma janela de navegao separada. Ex: helpwin informaasversesdoMATLAB,SIMULINKetoolboxes. Descreveacontibuio nestanovaversodomatlab Realizatestededesempenhono seucomputador listaasvariveisatuaisnamemria listaasvariveisatuais,suasdimensesememriaquecadaumaocupa. limpa toda a memria da rea de trabalho; clear arg exclui a funo ou varivel arg da memria da rea de trabalho. desfragmentaamemriadareadetrabalho. salvaerecuperaasvariveisdamemriadareadetrabalhoemarquivo.Ex:save c:\MATLAB\arqxy encerraasessodetrabalhodoMATLAB. listaosnomesdearquivosdefunesecomandosdeumgrupoespecficodoMATLAB ExecutacomandosdoDOS. 8/24

ComandosdePropsitogeraledeMemria
Comando
edit lookfor type path addpath rmpath echo more diary format cd pwd dir

Descrio
edita arquivo do MATLAB. Ex: >> edit arq busca a palavrachave em todos os arquivos contidos no caminho do MATLAB. Ex: lookfor palavra listaocontedodeumarquivodecomandosdoMATLAB.Ex:type arq verificaoudefineocaminhodediretrios.Exemplo:path;path=c:\usuario\MATLAB; adicionadiretriosaocaminho removeodiretriodescritonastring nomeaocaminhoatual. habilita ou inibe a apresentao dos resultados de comando de um arquivo MATLAB na linha de comando. Ex: echo on; echo off habilitaouinibeapaginaodotextonateladecomandos.Ex:moreon;moreoff salvatodootextodasessodetrabalhoemarquivo. determinaoformatonoqualosdadosseroexpressosnajaneladecomando. alteraodiretriodetrabalhoatual.Ex:cdc:\MATLAB\usuario exibeodiretriodetrabalhoatual. listaosarquivosdodiretrioatual. 9/24

VariveisnoMatlab
int a; double b; float c;

Nonecessriodeclararasvariveis

Todas as variveis so criadas com preciso dupla a menos que especificado, e todas variveis so matrizes;
>>x=int32(555) >>y=[3.678] >>z=40 >>size(y) >>size(x)

Aps estas declaraes, as variveis so matrizes com preciso dupla (double). >>whos
10/24

TiposdedadosnoMatlab
DigiteosseguintescomandosnoMatlab:
>>m='Maria' >>y=[3.678] >>a=int64(56) >>b=int32(a) >>c=int8(y) >>class(a) >>class(b) >>m=[b,77] >>whos >>length(a) >>helpwhos >>x1=[156] >>x3=[2;3] >>roots(x1) >>poly(x3) >>aluno.nome ='Jose >>aluno.idade =20 >>aluno.nota =76 >>whos >>disp(aluno) >>disp(aluno.nome) >>fprintf('\nNomedoaluno:%s\n',aluno.nome) >>size(aluno) >>size(aluno.nome) >>aluno.nota =[aluno.nota 99] >>aluno.nome =[aluno.nome 'daSilva']

11/24

TiposdedadosnoMatlab

>>whos =>dizotipoetamanhodetodasasvariveisnamemria
12/24

MatrizesnoMatlab
Exemplos: >> x = [1 2 5 1] >> x(0) >> x(1) >> x(2) >> y = [1 2 3; 5 1 4; 3 2 -1] >> m = y % transposta >> t =1:10 >> k =2:-0.5:-1 >> B = [1:4; 5:8] >> x1 = zeros(1,3) >> x2 = ones(1,3) >> x3 = rand(2,3) >> x4 = 100*rand(4,2) >> x4(3) >> x4(3,:) >> x4(:,1)

Em Matlab, o ndice das matrizes comea em 1, ao contrrio das demais ferramentas de programao que comea em 0.
>> m4 = [] % matriz vazia >> m4 = [m4 'Maria'] >> m4 = (1) >> m4(10) >> syms x a b f >> f=a*x^2+b*x >>g=x3 + 2x2 + 3x + 4 >> diff (f, x) % derivada >> p = [-1 3 2 -5] %polinmio >> polyval(p, 1)
13/24

Arquivos.MATe.m
As matrizes tambm podem ser definidas atravs de informao armazenada em arquivos. O MATLAB adota o formato com extenso padro MAT.
1. Os arquivos MAT so gerados no MATLAB usando o comando save, que contm o nome do arquivo e as matrizes ou variveis que devem ser salvas. A extenso .mat automaticamente adicionada ao nome do arquivo. Para recuperar estas variveis usado o comando load.
Ex: save arq1 / whos / clear all / whos / load arq1 / whos

2.

Todo programa ou script escrito em Matlab deve possuir a extenso .m. Ao salvar um arquivo de programa, a ferramenta automaticamente adiciona esta extenso. No caso de funes, o nome do arquivo tambm deve ter o mesmo nome da funo.
14/24

OperadorDoisPontos(:)
O uso do operador dois pontos (:) til na criao de matrizes ou vetores. Suponha que queiramos armazenar a primeira coluna da matriz data1 em um vetor x, e a segunda coluna em um vetor y. Dependendo do argumento, pode significar todas as linhas ou todas as colunas da matrizreferncia. >>data1=[0.0,0.0;0.10.2;0.30.6]; >>x=data1(:,1); >>y=data1(:,2); >>z=data1(2,:) >>H=1:8; A matriz H contm os valores 1, 2, 3, 4, 5, 6, 7 e 8. O operador : entre os dois nmeros inteiros gera todos os inteiros entre os dois nmeros especificados. Se for usado para separar trs nmeros, os dois pontos geraro valores entre o primeiro e terceiro nmeros, usando o segundo nmero como incremento. A notao abaixo gera um vetor linha denominado TEMPO que contm os nmeros de 0.0 a 5.0 com incrementos de 0.5 >>TEMPO=0.0:0.5:5.0
15/24

OperadoresemMatlab
Aritmticos/Relacionais/Lgicos: Help / Matlab / Functions / Programming and data Types Help / Matlab / Functions / Mathematics / Arrays / Operators / Arithmetic

&&AND ||OR ~NOT XOR Operadores Binrios Aritmticos Bsicos

< <= > >= == ~= & | ~

menorque; menorouiguala; maiorque; maiorouiguala; iguala; diferentede; e ou no Relacionais(IF)


16/24

FunesMatemticasElementares
abs (x) sqrt(x) round(x) fix(x) floor(x) ceil(x) sign(x) rem(x,y) exp(x) log(x) log10(x) sin(x)/cos(x) Calculaovalorabsolutodex. Calculaaraizquadradadex. Arredondaovalordexparaointeiromaisprximo. Arredondaovalordexparaointeiromaisprximodezero. Arredondaovalordexparaointeiromaisprximode Arredondaovalordexparaointeiromaisprximode+ Se x menor que zero, a funo retorna ao valor 1; se x for igual a zero, retorna ao valor zero; caso contrrio, a funo retorna ao valor 1. Retornaorestodadivisox/y.Porexemplo,rem(25,4)1,erem(100,21)16. Esta funo retorna ao valor de ex, onde e a base para logaritmo natural ou aproximadamente 2.718282 Retornaalnx,ologaritmonaturaldexparaabasee. Retornaalog10x,ouseja,ologaritmodexnabase10. senoecosseno(xemradianos)
17/24

Constantesmatemticas
Constante i inf intmax intmin j nan pi realmax realmin eps Descrio Unidadeimaginria Infinito Maiorvalorparainteiro Smallestvalueofspecifiedintegertype Unidadeimaginria Noumnmero Razoentreacircunfernciadocrculoaseudimetro Maiornmeropositivedepontoflutuante Menornmeropositivedepontoflutuante Precisorelativadepontoflutuante Ex:>>eps
18/24

MANIPULAODEMATRIZES
Constante zeros Descrio zeros(n) cria uma matriz quadrada composta de zeros; zeros(n,m) cria uma matriz n x m composta de zeros; zeros(size(a)) cria um matriz com as mesmas dimenses da matriz a, composta de zeros. Exemplo: zeros(4); zeros(2,3); ones(n)criaumamatrizquadradacompostadeelementosiguaisa1;zeros(n,m) cria umamatriznpormcompostadeelementosiguaisa1;zeros(size(a))criaummatrizcom asmesmasdimensesdamatriza,composta deelementosiguaisa1. Exemplo:ones(4);ones(2,3);ones(size(a)). criaumamatrizidentidadeoumatrizcomdiagonal1. Ex:eye(n);eye(n,m);ones(size(a)); criaumamatrizcomelementosgeradosaleatoriamente. Sintaxe:rand(n);rand(n,m);rand(size(a)); omesmoderand,pormnestecasoadistribuiosegueopadro normal,enquantorand seguepadrouniforme. extraidiagonaisdematrizesecriaumvetorcomesteselementos. Ex:diag(m,k);diag(m); criaumvetorcomelementoslinearmenteespaados. Sintaxe:linspace(x1,x2);y=linspace(x1,x2,N);plot (y) criaumvetorcomelementoslogaritmicamente espaados. Ex:logspace(x1,x2);logspace(x1,x2,N). 19/24

ones

eye rand randn diag linspace logspace

Bibliografia

http://www.ime.usp.br/~pf/algoritmos/index.html http://intranet.deei.fct.ualg.pt/IALP/SLIDES/4Introducao%20programacao.pdf http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frtref%2Fsc41560764.htm http://algs4.cs.princeton.edu/home/ http://webx.ubi.pt/~felippe/texts3/autom_ind_cap1.pdf


http://professor.ucg.br/SiteDocente/admin/arquivosUpload/14485/material/Apostila%20MATLAB%20(Baleeiro).pdf

http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#apresentacao http://www.compileonline.com/compile_java_online.php http://mit.universia.com.br/18/1806/pdf/matlab.pdf http://www.math.ufl.edu/help/matlabtutorial/ http://ensino.univates.br/~chaet/Materiais/CURSOmatlab52.pdf http://ifgjatai.webcindario.com/MatLab_para_Engenharia.pdf http://www.dcc.unicamp.br/~rdahab/cursos/matlab/#material_didatico http://pt.scribd.com/doc/49964222/FFerrariCCechinelIntroducaoaalgoritmos http://www.javaprogressivo.net/2013/03/ComoprogramaremCCursoCProgressivo.html#more http://people.rit.edu/pnveme/ http://people.rit.edu/pnveme/Matlab6/wk2/Wk2index.html http://amath.colorado.edu/computing/Matlab/ http://people.rit.edu/~pnveme/Matlab6/index.html http://amath.colorado.edu/computing/Matlab/OldTechDocs/ref/ http://w3.ufsm.br/petmatematica/arquivos/Apostila_MATLAB.pdf 20/24

Você também pode gostar