Você está na página 1de 13

Introduo ao Matlab

Prf. Jos Fajardo Barbachan


IBMEC

Clulas e Estruturas
Utilizados para agrupar dados diferentes,
mas relacionados
No permitem operaes matemticas
diretamente nelas, mas apenas em seus
componentes

Clulas e Estruturas
Clulas
Identificadas por nmeros

Estruturas
Identificadas por nomes

Clulas
Criao

cell(l,c)
Atribuindo valores clula
Usa os operadores { }
Exemplo 1: A(1,1) = {[ 1 2 3]}
Exemplo 2: A{1,1} = [1 2 3]

Clulas
Vendo o Contedo
celldisp(A)
A{1,1} ou A(1,1)

Manipulao
Os mesmos mtodos de manipulao utilizados
por matrizes funcionam com clulas
Ex.: A{:,1}

Clulas
Manipulao

size
reshape
repmat
iscell

Clulas
Trabalhando com os contedos
Voc pode acessar um elemento de uma clula
considerando que o endereo completo da
clula uma matriz.
Exemplo: x = A{1,1}(2,2)

Estruturas
Ao invs de ser um conjunto acessado por
nmeros, acessado por nomes
Ex.: Bbas4.Data = 3; Bbas4.Preco = 8.5

Possui campos. No caso do exemplo acima


os campos seriam Data e Preco
Permite criao de estruturas dentro de
estruturas

Estruturas
Nomes de campos tm as mesmas restries
dos nomes das variveis
Para acessar dados na estrutura o ndice
aplicado ao nome da estrutura
Ex: Bbas4(2).Data

bastante til na utilizao de funes e


para indexao conjunta de dados

Estruturas
Manipulao de Estruturas
Os mesmos conceitos aplicados a matrizes e
clulas so aplicados s estruturas

Funes

fieldnames
isfield
class
isstruct

Estruturas
Funes
rmfield
Ex:
Fnames = fieldnames(circle)
Circle2 = rmfield(circle,fnames{5})

getfield
setfield

M-files
So utilizados com 2 propsitos
Scripts
Usam o workspace vigente (variveis)
No recebem argumentos nem devolvem respostas

Funes
Usam seu prprio workspace
Podem receber argumentos e devolver respostas

Scripts
Executam uma sequncia de comandos prdefinida
Funes teis
disp(varivel)- Mostra o contedo da varivel
sem mostrar seu nome. Pode ser usado para
mostrar textos ou mesmo nmeros que no
estejam armazenados em variveis

Scripts
Funes teis
echo on/off Controla a sada do script no
command window.
input Solicita ao usurio entrada de dados
keyboard Devolve controle ao teclado at que
seja digitado return para o comando voltar
para o script

Scripts
Funes teis
pause ou pause(n) Coloca o script em estado
de espera at que o usurio aperte alguma tecla,
ou espera n segundos.
waitforbuttonpress Coloca o script em estado
de espera at que o usurio aperte o boto do
mouse ou alguma tecla

Scripts
Scripts especiais

matlabrc.m
pathdef.m
startup.m
finish.m

Scripts
Exemplo de finish.m
Pergunta = 'Tem certeza que quer sair?';
Botao = questdlg(Pergunta,'Finalizaao','Sim','Nao','Nao');
switch Botao
case 'Nao'
quit cancel; % Desiste de finalizar
end % Se nao for Nao deixa sair

Exerccio
Fazer um script que solicita a indicao de dois
vetores e cria uma estrutura com campos Acao1
e Acao2.
Transform-los em retornos criando uma clula
Calcular algumas estatsticas descritivas dos
retornos e apresent-las de forma agradvel
Estatsticas Descritivas:
Mdia, Desvio Padro, Mximo, Mnimo

Usar o banco de dados Aula2.mat para obter os


vetores

Strings
O Matlab trata originalmente Strings como
array de nmeros
Esses nmeros so os cdigos ASCII desses
caracteres
Exemplo: t = Um exemplo de string

Strings
Funes Bsicas
Todas as funes de matrizes
double Mostra os cdigos ASCII da string

Para manipular Strings as mesmas funes


utilizadas pelas matrizes so vlidas
Para representar um dentro da String basta
colocar dois consecutivos

10

Strings
Para strings com mais de uma linha deve-se
ter o mesmo nmero de caracteres em cada
linha.
Funo strvcat
Cria um array com vrias linhas de string
automaticamente uniformizando seu tamanho

Strings
Funo strcat
Concatena strings

Funo deblank
Retira espaos em branco de sobra

Outras funes teis


int2str
num2str

11

Strings
Outras funes teis
fprintf
Formatar nmeros

sprintf
Formatar Strings
fname=sprintf(mydata%.0f.dat,i)

sscanf
a funo recproca a sprintf

Strings
Solues para se ter tamanhos diferentes
Estruturas
Clulas

Mais funes teis

cellstr(S)
blanks(n)
ischar(S)
Iscellstr(C)

12

Strings
Mais funes teis

strcmp(S1,S2)
strcmpi(S1,S2)
findstr(S1,S2)
strmatch(S1,S2)
upper(S)
lower(S)

Exerccio
Criar um script que execute os seguintes passos:
Solicite um nome de 2 aes
Procure na estrutura Acoes os nomes e tendo-os
calcular as sries de retornos.
Calcular o retorno esperado e o risco de cada ao
Solicitar o vetor com os pesos do portfolio
Calcular o retorno esperado e o risco da carteira
Mostrar os resultados de forma amigvel

13

Você também pode gostar