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

Assembly

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

TeladeEntradadoMatlab

1 JaneladeComandos
2 JaneladasVariveisnaMemria
3 HistricodosComandos

4 PastadeTrabalho
5 MudaaPastadeTrabalho

Nota:AoiniciarnoMatlab,ajusteasuapastadetrabalho,em5

5/24

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

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

edita arquivo do MATLAB. Ex: >> edit arq

lookfor

busca a palavrachave em todos os arquivos contidos no caminho do MATLAB.


Ex: lookfor palavra

type

listaocontedodeumarquivodecomandosdoMATLAB.Ex:type arq

path

verificaoudefineocaminhodediretrios.Exemplo:path;path=c:\usuario\MATLAB;

addpath

adicionadiretriosaocaminho

rmpath

removeodiretriodescritonastring nomeaocaminhoatual.

echo

habilita ou inibe a apresentao dos resultados de comando de um arquivo MATLAB na


linha de comando. Ex: echo on; echo off

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

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)

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

Você também pode gostar