Escolar Documentos
Profissional Documentos
Cultura Documentos
Capítulo 07
Estatística de Dados e Ajustes
mean( )
std( ) calcula o desvio padrão (p/ matrizes, calcula por coluna)
max( )
min( )
median( )
var( )
corrcoef( )
mode( )
cov( )
sort( )
sortrows( )
O comando polyfit emprega o método dos mínimos quadrados para realizar o ajuste
polinomial.
>> x = [0 1 2 3 4 5];
>> y = [0 20 60 68 77 110];
>> plot (x,y,'o')
>> c1 = polyfit(x,y,1); (polinômio de 1º grau)
>> c2 = polyfit(x,y,2); (polinômio de 2º grau)
>> c3 = polyfit(x,y,3); (polinômio de 3º grau)
>> c4 = polyfit(x,y,4); (polinômio de 4º grau)
>> xnew = 0 : 0.1 : 5;
>> yn1 = polyval(c1,xnew); yn2 = polyval(c2,xnew);
>> yn3 = polyval(c2,xnew); yn4 = polyval(c4,xnew);
>> plot(xnew,yn1,'r-',xnew,yn2,'g-',xnew,yn3,'b-',...
xnew,yn4,'k-',x,y,'ko',...
'LineWidth',2,...
'MarkerEdgeColor','r',...
'MarkerFaceColor','k',...
'MarkerSize',10); grid;
>> legend('1º grau','2º grau','3º grau','4º grau','Dados');
Curso Básico de Matlab - Prof. Jakler Nichele 7-2
✓ Exemplo 1:
Dados de P × t numa bomba de vácuo.
Função objetivo: P = P0 e−t/τ
Determinar P0 e τ.
expfit.m
t = [0 0.5 1.0 5.0 10.0 20.0];
P = [760 625 528 85 14 0.16];
logP = log(P);
a = polyfit(t,logP,1);
P0 = exp(a(2));
tau = -1/a(1);
tfit = 0: .1 : 20;
Pfit = P0*exp(-tfit/tau);
plot(t,p,'o',tfit,Pfit),grid
xlabel('Tempo(s)'), ylabel('Pressão (mm-Hg)')
✓ Exemplo 2:
✓ Exemplo 3:
Função objetivo: y(t) = k1 + k2 e−t/Tcos(ωt + ϕ)
Parâmetros: k1, k2, T, ω, ϕ
Dados:
t = 0: .25 : 10;
y =[0 …
0.0670 0.2018 0.3122 0.3503 0.3215 0.2635 0.2159 0.1995 …
0.2120 0.2369 0.2574 0.2644 0.2591 0.2483 0.2395 0.2365 …
0.2388 0.2434 0.2472 0.2485 0.2475 0.2455 0.2439 0.2433 …
0.2438 0.2446 0.2453 0.2456 0.2454 0.2450 0.2447 0.2446 …
0.2447 0.2448 0.2450 0.2450 0.2450 0.2450 0.2450 0.2450];
Exemplo de Script:
load('Data.txt');
t = Data(:,1);
y = Data(:,2);
% variáveis c(1)=k1 c(2)=k2 c(3)=1/T c(4)=omega c(5)=phi
funcao = @(c) norm(c(1) - c(2)*exp(-c(3)*t).*cos(c(4)*t+c(5)) - y);
■ Interpolação
interp1
Sintaxe: ynew = interp1(x,y,xnew,'method')
xaux = linspace(0,2*pi,51);
y1 = interp1(x,y,xaux,'nearest');
y2 = interp1(x,y,xaux,'linear');
y3 = interp1(x,y,xaux,'cubic');
y4 = interp1(x,y,xaux,'spline');