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)