14 Temmuz 2011 Perşembe

Curve Fitting

Tablodaki verilere doğrusal ve ikinci dereceden grafik uydurma (curve?fitting)
yapınız. Hangisinin daha iyi olduğunu belirtiniz.

x=[1 2.5 3.5 4 1.1 1.8 2.2 3.7]
y=[6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828]

Cevap

a) Script


x=[1 2.5 3.5 4 1.1 1.8 2.2 3.7];
y=[6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828];

xort=mean(x);
yort=mean(y);
c=0;
d=0;
for i=1:length(x)
    c=c+y(i)*(x(i)-xort);
    d=d+x(i)*(x(i)-xort);
end
b=c/d;
a=yort-xort*b;
fprintf('a değeri %8.2f \n',a);
fprintf('b değeri %8.2f',b);

Output

a değeri    -6.19 
b değeri     9.44

b) Script

A=[1 2.5 3.5 4 1.1 1.8 2.2 3.7];
B=[6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828];
n=length(A);

a11=n; a12=sum(A); a13=sum(A.*A);
a21=sum(A); a22=sum(A.*A); a23=sum(A.*A.*A);
a31=sum(A.*A); a32=sum(A.*A.*A); a33=sum(A.*A.*A.*A);

z=[a11 a12 a13;a21 a22 a23;a31 a32 a33];
b1=sum(B);
b2=sum(A.*B);
b3=sum(A.*A.*B);
w=[b1;b2;b3];

abc=z\w;
a=abc(1)
b=abc(2)
c=abc(3)

Output

a =    4.4057

b =   -1.0689

c =    2.1081







Hiç yorum yok:

Yorum Gönder