Written by Anonymous
clc
clear all
x=[0.1 0.2 0.4 0.5 1 2]
y=[21 11 7 6 5 6]
N=length(x)
M=[sum(x) sum(1./sqrt(x)); sum(1./sqrt(x)) sum(1./(x.^2))]
%for element wise multiplication use . operator
B=[sum(y.*x.^(1/2)); sum(y./x)]
L=inv(M)*B
f=L(1)*sqrt(x)+ L(2)*(1./x)
plot(x,y,'*r')
hold on
plot(x,f,'b-')
********************************************
x1=[-2 -1 0 1 2];
y1=[15 1 1 3 19];
syms a b x y d
g = @(a,b,d,x,y)((y-a-(b*x)-(d*x*x)))^2;
g1 = @(a,b,d,x)(a+(b*x)+(d*x.^2));
h = diff(g,a);
h1 = diff(g,b);
h2 = diff(g,d);
k = subs(h, {x,y}, {x1,y1});
k1 = subs(h1, {x,y}, {x1,y1});
k2 = subs(h2, {x,y}, {x1,y1});
m = sum(k);
m1 = sum(k1);
m2 = sum(k2);
equations = [m==0, m1==0, m2==0]
[A c] = equationsToMatrix(equations);
X=inv(A)*c;
a1=X(1)
b1=X(2)
d1 = X(3);
f=g1(a1,b1,d1,x1);
plot(x1,y1,x1,f)