Николай Хонин
S:21:05:16 12.11
R:21:05:22 12.11
x = (-2.4:0.6:3);
y = exp(2*x)+sin(5*x-(pi/4));
S0=0;
S1=0;
S2=0;
S3=0;
Sx=0;
Sx2=0;
Sx3 = 0;
Sx4 = 0;
Sx5 = 0;
Sx6 = 0;
Se1 = 0;
Se2 = 0;
Se3 = 0;
e1 = [];
e2 =[];
e3 = [];
imax=0;
for i = 1:10
S0 = S0 + y(i);
S1 = S1 + y(i)*x(i);
S2 = S2 + y(i)*x(i)^2;
S3 = S3 + y(i)*x(i)^3;
Sx = Sx + x(i);
Sx2 = Sx2 + x(i)^2;
Sx3 = Sx3 + x(i)^3;
Sx4 = Sx4 + x(i)^4;
Sx5 = Sx5 + x(i)^5;
Sx6 = Sx6 + x(i)^6;
end
A = [10,Sx, S0; Sx,Sx2,S1;];
c = A(1,1);
imax = 1;
for i = 1:2
m = A(i,2);
if abs(m) > abs(c)
imax = i;
end
end
buf = [A(imax,1),A(imax,2),A(imax,3)];
for i = 1:3
A(imax,i) = A(1,i);
A(1,i) = buf(i);
end
n = A(2,1);
for i = 1:3
A(2,i) = A(2,i) - (A(1,i)/A(1,1))*n;
end
b2 = A(2,3)/A(2,2);
b1 = (A(1,3) - A(1,2)*b2)/A(1,1);
B = [b1;b2];
phi = b1 + b2 * x;
for i = 1:10
e1(i,1) = abs(phi(i) - y(i));
end
A = [10,Sx,Sx2,S0; Sx,Sx2,Sx3,S1; Sx2,Sx3,Sx4,S2];
imax = 1;
c = A(1,1);
for i = 1:3
m = A(i,1);
if abs(m) > abs(c)
imax = i;
end
end
buf = [A(imax,1),A(imax,2),A(imax,3),A(imax,4)];
for j = 1:4
A(imax,j) = A(1,j);
A(1,j) = buf(j);
end
n = A(2,1);
z = A(3,1);
for i = 1:4
A(2,i) = A(2,i) - (A(1,i)/A(1,1))*n;
A(3,i) = A(3,i) - (A(1,i)/A(1,1))*z;
end
imax = 2;
c = A(2,2);
for i = 2:3
m = A(i,1);
if abs(m) > abs(c)
imax = i;
end
end
buf = [A(imax,1),A(imax,2),A(imax,3),A(imax,4)];
for j = 2:4
A(imax,j) = A(2,j);
A(2,j) = buf(j);
end
n = A(3,2);
for i = 2:4
A(3,i) = A(3,i) - (A(2,i)/A(2,2))*n;
end
b3 = A(3,4)/A(3,3);
b2 = (A(2,4) - b3 * A(2,3))/A(2,2);
b1 = (A(1,4) - b2*A(1,2)-b3*A(1,3))/A(1,1);
D = [b1;b2;b3];
psi = b3*x.^2 + b2*x + b1;
for i = 1:10
e2(i,1) = abs(psi(i) - y(i));
end
A = [10,Sx,Sx2,Sx3,S0; Sx,Sx2,Sx3,Sx4,S1; Sx2,Sx3,Sx4,Sx5,S2; Sx3, Sx4, Sx5, Sx6, S3];
imax = 1;
c = A(1,1);
for i = 1:4
m = A(i,1);
if abs(m) > abs(c)
imax = i;
end
end
buf = [A(imax,1),A(imax,2),A(imax,3),A(imax,4),A(imax,5)];
for j = 1:5
A(imax,j) = A(1,j);
A(1,j) = buf(j);
end
n = A(2,1);
z = A(3,1);
h = A(4,1);
for i = 1:5
A(2,i) = A(2,i) - (A(1,i)/A(1,1))*n;
A(3,i) = A(3,i) - (A(1,i)/A(1,1))*z;
A(4,i) = A(4,i) - (A(1,i)/A(1,1))*h;
end
imax = 2;
c = A(2,2);
for i = 2:4
m = A(i,1);
if abs(m) > abs(c)
imax = i;
end
end
buf = [A(imax,1),A(imax,2),A(imax,3),A(imax,4),A(imax,5)];
for j = 2:5
A(imax,j) = A(2,j);
A(2,j) = buf(j);
end
n = A(3,2);
h = A(4,2);
for i = 2:5
A(3,i) = A(3,i) - (A(2,i)/A(2,2))*n;
A(4,i) = A(4,i) - (A(2,i)/A(2,2))*h;
end
imax = 3;
c = A(3,3);
for i = 3:4
m = A(i,3);
if abs(m) > abs(c)
imax = i;
end
end
buf = [A(imax,1),A(imax,2),A(imax,3),A(imax,4),A(imax,5)];
for j = 3:5
A(imax,j) = A(3,j);
A(3,j) = buf(j);
end
h = A(4,3);
for i = 2:5
A(4,i) = A(4,i) - (A(3,i)/A(3,3))*h;
end
b4 = A(4,5)/A(4,4);
b3 = (A(3,5) - b4 * A(3,4))/A(3,3);
b2 = (A(2,5) - b3*A(2,3)-b4*A(2,4))/A(2,2);
b1 = (A(1,5) - b2*A(1,2) - b3*A(1,3) - b4*A(1,4))/A(1,1);
F = [b1;b2;b3;b4];
psi3 = b4*x.^3 + b3*x.^2 + b2*x + b1;
for i = 1:10
e3(i,1) = abs(psi3(i) - y(i));
end
x = transpose(x);
y = transpose(y);
phi = transpose(phi);
psi = transpose(psi);
psi3 = transpose(psi3);
for i = 1:10
Se1 = Se1 + e1(i);
end
for i = 1:10
Se2 = Se2 + e2(i);
end
for i = 1:10
Se3 = Se3 + e3(i);
end
E = [x,y,phi,psi,psi3,e1,e2,e3];
disp(* x y phi psi psi3 e1 e2 e3*);
disp(E);
fprintf(* %.3f1 %.3f2 %.3f3*,Se1,Se2,Se3);