Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Notas de Aula: Introdução à Programação com MatLab, Notas de estudo de Engenharia Mecânica

Notas de aula para um curso de programação básica em matlab, abrangendo estatística básica, ordenação, histograma, gráficos, seleção de dados, ajuste de curva pelo método dos mínimos quadrados e exemplos de uso de polyfit() e polyval().

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 07/10/2007

tiberio-augusto-teixeira-2
tiberio-augusto-teixeira-2 🇧🇷

5 documentos

1 / 13

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Notas de Aula
MatLab -3
Routo Terada
www.ime.usp.br/~rt
Depto. C. da Computação -USP
Bibliografia:
E. Y. Matsumoto, MatLab6 Fundamentos de Programação,
Edit. Érica, 2000
K. Chen et al., Mathematical explorations with MatLab,
Cambridge University Press 1999
D. Hanselmanet al., MatLab5 -- Guia do Usuário,
Editora Makron1999
MatLab (Routo) 2
conteúdo
Estistística básica
Ordenação (sort) e histograma
Gráfico(plot) após sort()
Seleção de dados ("query"); critério de seleção
Exemplo de seleção:primeiro quadrante
Ajuste de curva pelo método dos mínimos quadrados -- MMQ
MMQ usando A\y
MMQ usando polyfit() e polyval(): exemplo de grau 1, 2, e 3
MMQ de 2 variáveis usando polyfit2() e polyval2()
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Pré-visualização parcial do texto

Baixe Notas de Aula: Introdução à Programação com MatLab e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Notas de Aula

MatLab - 3

Routo Terada

www.ime.usp.br/~rt

Depto. C. da Computação - USP

Bibliografia: E. Y. Matsumoto, MatLab6 Fundamentos de Programação, Edit. Érica, 2000 K. Chen et al., Mathematical explorations with MatLab, Cambridge University Press 1999 D. Hanselman et al., MatLab 5 -- Guia do Usuário, Editora Makron 1999

MatLab (Routo) 2

conteúdo

  • Estistística básica
  • Ordenação (sort) e histograma
  • Gráfico (plot) após sort()
  • Seleção de dados ("query"); critério de seleção
  • Exemplo de seleção: primeiro quadrante
  • Ajuste de curva pelo método dos mínimos quadrados -- MMQ
  • MMQ usando A\y
  • MMQ usando polyfit() e polyval(): exemplo de grau 1, 2, e 3
  • MMQ de 2 variáveis usando polyfit2() e polyval2()

MatLab (Routo) 3

Estatística básica

%estatística básica D=[2.2 1.1 3.3 4.4 5.5] miD=min(D) MAD=max(D) mediaD=mean(D) medianaD=median(D) produtoD=prod(D) somaD=sum(D) somaAcumulD =cumsum(D) desvioD =std(D) ME=[1.1 4.4;2.2 3.3;4.4 5.5;5.5 6.6] coefCorrelacaoME = corrcoef (ME) % cada coluna é uma variável covarianciaME=cov(ME) somAcumulME =cumsum(ME) % soma acumulada por coluna

D = 2.2000 1.1000 3.3000 4.4000 5.

miD = 1. MAD = 5. mediaD = 3. medianaD = 3. produtoD = 193. somaD = 16. somaAcumulD = 2.2000 3.3000 6.6000 11.0000 16. desvioD = 1. ME = 1.1000 4. 2.2000 3. 4.4000 5. 5.5000 6. coefCorrelacaoME = 1.0000 0. 0.8485 1. covarianciaME = 4.0333 2. 2.4200 2. somAcumulME = 1.1000 4. 3.3000 7. 7.7000 13. 13.2000 19.

MatLab (Routo) 4

D = 2.1000 1.1000 4.4000 7.7000 3. DAscend = 1.1000 2.1000 3.3000 4.4000 7. DDescen = 7.7000 4.4000 3.3000 2.1000 1. y = 3 1 1 x = 2.2000 4.4000 6.

%%%%% sort() %%%% D= [2.1 1.1 4.4 7.7 3.3] DAscend= sort(D) % ordena DDescen= -sort(-D) % ordem descendente %%%% histograma %%%% hist(D,3) % default de 10 intervalos [y x]=hist(D,3) % 3 intervalos: 1<=x<=3, 3<x<=5, 5<x<=

MatLab (Routo) 7

MatLab (Routo) 8

d = 0 0 1 1 1 1 1 0 1 1

t = 7 k = 3 4 5 6 7 9

ans = 4.0000 5. 8.0000 5. 12.0000 5. 10.0000 5. 18.0000 5. 16.0000 5. 14.0000 5.

%%%% query %%%%

d= (y>=5) % query só daqueles que satisfazem y>=

% 1 se satisfaz , 0 c.contrário

t= sum(d) % número dos que satisfizeram query

[v k]= sort(-d); %traz os que satisfizeram para o início

k=k(1:t) % encurta o vetor k para t elementos

x1= x(k); y1= y(k); % escolhe só os que satisfizeram

[x1 y1]

plot(x1,y1,'r+')

Importante : seleção de dados

MatLab (Routo) 9

MatLab (Routo) 10

%% criar 42 pontos (x,y) e selecionar só os que estão

%% no segundo quadrante

t=0: 0.15: 2*pi;

nconta= length(t) % número de pontos

xa=cos(t); ya=sin(t); % cria os 42 pontos

d= (ya>=0) & (xa<=0); % seleciona só no 2o. quadrante

t=sum(d)

[v i]= sort(-d);

i= i(1:t)

x1= xa(i); y1= ya(i);

plot(x1,y1, 'b*')

nconta = 42 t = 10 i = 12 13 14 15 16 17 18 19 20 21

MatLab (Routo) 13

MatLab (Routo) 14

%%% polyfit() e polyval() para MMQ

Coef=polyfit(x,y, 1) % 1 significa reta, i.e., polin. grau 1

% ya_j = Coef_2 + Coef_1 x_j Coef é um vetor linha!

% para calcular resíduo, use polyval()

ya=polyval(Coef,x);

res=y-ya;

ResiduoMMQ=res'*res

Coef = 0.0966 4. ResiduoMMQ =

MatLab (Routo) 15

% polyfit() aceita qualquer grau k>=

%%% polyfit() de grau 2 para MMQ

Coef=polyfit(x,y, 2)

% ya_j = Coef_3 + Coef_2 x_j + Coef_1 (x_j)^

% para calcular resíduo, use polyval()

ya=polyval(Coef,x);

res=y-ya;

ResiduoMMQ=res'*res

[sx k]= sort(x); % ordenado em sx, índices originais em k

sya=ya(k) % reordena y para ser coerente com x original

sy=y(k);

plot(sx,sy,'b*',sx,ya(k),'r')

Coef = -0.0045 0.1776 4. ResiduoMMQ = 0. sya =

MatLab (Routo) 16

MatLab (Routo) 19

%%%% método MQ para 2 variáveis %%%%%%%

%%% polyfit2 e polyval2 em disquete %%%%

x0= 0:0.02:1; y0=x0;

[x y]= meshgrid(x0,y0);

R=sqrt( (x-1/2).^2 + (y-1/4).^2);

z=R.*log(R+eps); % criou dados z em função de x e y

C1= polyfit2( x,y,z, 'linear'); % MMQ linear

C2= polyfit2( x,y,z, 'cubic' ); % MMQ cúbico

% a seguir cálculos surf plot e mesh plot

Z1= polyval2( C1, x,y, 'linear');

Z2= polyval2( C2, x,y, 'cubic');

surf(z); hold on;

disp('pausa'); pause;

mesh(Z2);

%% cálculo do resíduo

resMMQ=sum(sum((Z2-z)'*(Z2-z)))

resMMQ =

MatLab (Routo) 20

z=f(x,y)

MatLab (Routo) 21

z=f(x,y) e MMQ cúbico

MatLab (Routo) 22

mcc compiler

  • MatLab (Routo)