Escolar Documentos
Profissional Documentos
Cultura Documentos
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
Assembly
TeladeEntradadoMatlab
1 JaneladeComandos
2 JaneladasVariveisnaMemria
3 HistricodosComandos
4 PastadeTrabalho
5 MudaaPastadeTrabalho
Nota:AoiniciarnoMatlab,ajusteasuapastadetrabalho,em5
5/24
JanelasnoMatlab
JanelasnoMatlab
ComandosdePropsitogeraledeMemria
Comando
Descrio
help
Ajuda em tempo real (online). O texto apresentado na tela da linha de comando. Ex: >>
help disp
helpwin
Ajuda em tempo real (online). O texto apresentado em uma janela de navegao separada.
Ex: helpwin
ver
informaasversesdoMATLAB,SIMULINKetoolboxes.
whatsnew
Descreveacontibuio nestanovaversodomatlab
bench
Realizatestededesempenhono seucomputador
who
listaasvariveisatuaisnamemria
whos
listaasvariveisatuais,suasdimensesememriaquecadaumaocupa.
clear
limpa toda a memria da rea de trabalho; clear arg exclui a funo ou varivel arg da
memria da rea de trabalho.
Pack
desfragmentaamemriadareadetrabalho.
Save /Load
salvaerecuperaasvariveisdamemriadareadetrabalhoemarquivo.Ex:save
c:\MATLAB\arqxy
quit
encerraasessodetrabalhodoMATLAB.
What
listaosnomesdearquivosdefunesecomandosdeumgrupoespecficodoMATLAB
dos
ExecutacomandosdoDOS.
8/24
ComandosdePropsitogeraledeMemria
Comando
Descrio
edit
lookfor
type
listaocontedodeumarquivodecomandosdoMATLAB.Ex:type arq
path
verificaoudefineocaminhodediretrios.Exemplo:path;path=c:\usuario\MATLAB;
addpath
adicionadiretriosaocaminho
rmpath
removeodiretriodescritonastring nomeaocaminhoatual.
echo
more
habilitaouinibeapaginaodotextonateladecomandos.Ex:moreon;moreoff
diary
salvatodootextodasessodetrabalhoemarquivo.
format
determinaoformatonoqualosdadosseroexpressosnajaneladecomando.
cd
alteraodiretriodetrabalhoatual.Ex:cdc:\MATLAB\usuario
pwd
exibeodiretriodetrabalhoatual.
dir
listaosarquivosdodiretrioatual.
9/24
VariveisnoMatlab
int a;
double b;
float c;
Nonecessriodeclararasvariveis
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)
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.
2.
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)
Calculaovalorabsolutodex.
sqrt(x)
Calculaaraizquadradadex.
round(x)
Arredondaovalordexparaointeiromaisprximo.
fix(x)
Arredondaovalordexparaointeiromaisprximodezero.
floor(x)
Arredondaovalordexparaointeiromaisprximode
ceil(x)
Arredondaovalordexparaointeiromaisprximode+
sign(x)
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.
rem(x,y)
Retornaorestodadivisox/y.Porexemplo,rem(25,4)1,erem(100,21)16.
exp(x)
Esta funo retorna ao valor de ex, onde e a base para logaritmo natural ou
aproximadamente 2.718282
log(x)
Retornaalnx,ologaritmonaturaldexparaabasee.
log10(x)
Retornaalog10x,ouseja,ologaritmodexnabase10.
sin(x)/cos(x)
senoecosseno(xemradianos)
17/24
Constantesmatemticas
Constante
Descrio
Unidadeimaginria
inf
Infinito
intmax
Maiorvalorparainteiro
intmin
Smallestvalueofspecifiedintegertype
Unidadeimaginria
nan
Noumnmero
pi
Razoentreacircunfernciadocrculoaseudimetro
realmax
Maiornmeropositivedepontoflutuante
realmin
Menornmeropositivedepontoflutuante
eps
Precisorelativadepontoflutuante
Ex:>>eps
18/24
MANIPULAODEMATRIZES
Constante
Descrio
zeros
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