当前位置:文档之家› 多元函数的最小二乘法

多元函数的最小二乘法

q=[0,50,200,100;100,0,150,200;50,150,0,200;50,100,150,0];
P=[350,450,400,300];
A=[200,300,500,500];
r=[0,8,17,15;12,0,16,20;10,12,0,18;6,9,10,0];
a0=0;b0=0;c0=0;
a1=0;b1=0;c1=0;
a2=0;b2=0;c2=0;
Q=zeros(4);R=zeros(4);PA=zeros(4);
% for i=1:4
% for j=1:4
% if(q(i,j)~=0)
% Q(i,j)=log(q(i,j));
% end
% if(r(i,j)~=0)
% R(i,j)=log(r(i,j));
% end
% if(P(i)~=0||A(j)~=0)
% PA(i,j)=log(P(i)*A(j));
% end
% end
% end
for i=1:4
for j=1:4
if(i~=j)
a0=a0+log(P(i)*A(j));
a1=a1+log(P(i)*A(j));


if(r(i,j)~=0)
b0=b0+log(r(i,j));
b2=b2+(log(r(i,j)))^2;
a2=a2+log(P(i)*A(j))*log(r(i,j));
end
if(q(i,j)~=0)
Q(i,j)=log(q(i,j));
c1=c1+log(P(i)*A(j))*log(q(i,j));
c0=c0+log(q(i,j));
c2=c2+log(r(i,j))*log(q(i,j));
end

end
end
end
b1=a2;
x=[a0,-b0,16;a1,-b1,a0;a2,-b2,b0];
y=[c0,c1,c2]';
z=linsolve(x,y)
u=zeros(4);
f=zeros(4);
for i=1:4
for j=1:4
if(r(i,j)~=0)
f(i,j)=exp(z(3))*(P(i)*A(j))^z(1)/(r(i,j)^z(2));
end
end
end

Pb=[400,550,450,400];
Ab=[250,400,550,600];
rb=[0,10,20,17;14,0,18,22;13,15,0,20;8,10,12,0];
for i=1:4
for j=1:4
if(rb(i,j)~=0)
fb(i,j)=exp(z(3))*(Pb(i)*Ab(j))^z(1)/(rb(i,j)^z(2));
end
end
end
% for i=1:4
% for j=1:4
% if(r(i,j)~=0)
% u(i,j)=0.0571*(P(i)*A(j))^0.496/(r(i,j)^(-0.6952));
% end
% end
% end
% for i=1:4
% for j=1:4
% r1(i,j)=f(i,j)-q(i,j);
% r2(i,j)=u(i,j)-q(i,j);
% end
% end
% s1=0;s2=0;
% for i=1:4
% for j=1:4
% s1=s1+ r1(i,j)^2;
% s2=s2+ r2(i,j)^2;
% end
% end

相关主题
文本预览
相关文档 最新文档