You are on page 1of 2

y = [2.40; 3.8; 4.75; 21.

60];
x = [31.8; 31.5; 31.2; 30.2];
w = [log(2.4); log(3.8); log(4.75); log(21.60)];
A = 0; B = 0; C = 0; D = 0; E = 0; F = 0;

% A = summation of wy/(x-b)^c
for i = 1:4
A = (w(i)*y(i) / (x(i)-b)^c) + A;
end
% B = summation of 1/(x-b)^(2*c)
for i = 1:4
B = (1/(x(i)-b)^(2*c)) + B;
end
% C = summation of 1/(x-b)^((2*c)+1)
for i = 1:4
C = (1/(x(i)-b)^((2*c)+1)) + C;
end
% D = summation of wy/(x-b)^(c+1)
for i = 1:4
D = (w(i)*y(i)/((x(i)-b)^(c+1))) + D;
end
% E = summation of log(x-b)/(x-b)^(2*c)
for i = 1:4
E = (log(x(i)-b)/((x(i)-b)^(2*c))) + E;
end
% F = summation of wylog(x-b)/(x-b)^c
for i = 1:4
F = (w(i)*y(i)*log(x(i)-b)/(x(i)-b)^c) + F;
end

f1 = (A*C) - (D*B);
f2 = (A*E) - (F*B);

L = diff(f1,b);
M = diff(f2,b);
N = diff(f1,c);
O = diff(f2,c);

J = [L M; N O];

bold = 10; % WHAT'S THE INITAL GUESS???


cold = 10;
tol =1;

syms b c

while tol > 1*10^-8


f1new = subs(f1, [b,c], [bold, cold]);
f2new = subs(f2, [b,c], [bold, cold]);
Jnew = subs(J, [b,c], [bold, cold]);
f = [f1new; f2new];
new = [bold;cold] - Jnew\f;
bnew = new(1);
cnew = new(2);
old = [bold; cold];
tol = abs(cnew - cold);
bold = bnew;
cold = cnew;
end

disp('b = '); disp(bnew);


disp('c = '); disp(cnew);

% Solve for a
G = 0;
H = 0;

for i = 1:4
G = ((w(i)*y(i))/(x(i) - bnew)^(2*cnew)) + G;
end

for i = 1:4
H = (1/(x(i)-bnew)^(2*cnew)) + H;
end

a = G/H;
disp('a = '); disp(a);

You might also like