wenlich
2012-10-10, 19:25
clear;clc; close all;%初始化
XF=20;CUB0=10;OF=1; WF=3;
KD=0.09; KL=0.46; Ka=10^(-6);H=10^(-7);f=8;K=10;B=0.000001;%用f=input('input f=')
A=1+H/Ka;
%迭代计算eeorg eeaq
for i=1:K;
XD(i)=XF; XL(i)=XF;
PF(i)=B;
end %赋初值
TD=0;TL=0;RD=0.1; RL=0.1;
while (RD>0.000001)|(RL>0.000001); %迭代停止误差要求
for i=1:K
CUB(i)=CUB0/(1+(KD*XD(i)+KL*XL(i))/(A*PF(i)));
end
for i=1:K
kD(i)=KD*CUB(i)/(A*PF(i));
end
RD=abs((kD(1)-TD)/kD(1)); TD=kD(1);
for i=1:K
kL(i)=KL*CUB(i)/(A*PF(i));
end
RL=abs((kL(1)-TL)/kL(1)); TL=kD(1);
for i=1:f-1
ED(i)=OF/WF*kD(i);EL(i)=OF/WF*kL(i);
end
for i=f:K
ED(i)=(OF)*(WF+1)*kD(i);EL(i)=(OF)*(WF+1)*kL(i);
end
AD=zeros(K,K);AL=zeros(K,K);
for i=1:1:K
AD(i,i)=-(1+ED(i));AL(i,i)=-(1+EL(i));
end
for i=2:1:K
if i==f
AD(i,i-1)=(WF)/(WF+1);AL(i,i-1)=(WF)/(WF+1);
else
AD(i,i-1)=1;AL(i,i-1)=1;
end
end
for i=1:1:K-1
AD(i,i+1)=ED(i+1);AL(i,i+1)=EL(i+1);
end
b=zeros(K,1);
b(f,1)=-XF/(WF+1);
XD=AD\b;
XL=AL\b;
CUBD=(kD.').*XD;CUBL=(kL.').*XL;
PF(i)=CUBD(i)+CUBL(i);
end
eeaq=abs((XL(K)-XD(K))/(XL(K)+XD(K)))
eeorg=abs((CUBD(1)-CUBL(1))/(CUBD(1)+CUBL(1)))
XF=20;CUB0=10;OF=1; WF=3;
KD=0.09; KL=0.46; Ka=10^(-6);H=10^(-7);f=8;K=10;B=0.000001;%用f=input('input f=')
A=1+H/Ka;
%迭代计算eeorg eeaq
for i=1:K;
XD(i)=XF; XL(i)=XF;
PF(i)=B;
end %赋初值
TD=0;TL=0;RD=0.1; RL=0.1;
while (RD>0.000001)|(RL>0.000001); %迭代停止误差要求
for i=1:K
CUB(i)=CUB0/(1+(KD*XD(i)+KL*XL(i))/(A*PF(i)));
end
for i=1:K
kD(i)=KD*CUB(i)/(A*PF(i));
end
RD=abs((kD(1)-TD)/kD(1)); TD=kD(1);
for i=1:K
kL(i)=KL*CUB(i)/(A*PF(i));
end
RL=abs((kL(1)-TL)/kL(1)); TL=kD(1);
for i=1:f-1
ED(i)=OF/WF*kD(i);EL(i)=OF/WF*kL(i);
end
for i=f:K
ED(i)=(OF)*(WF+1)*kD(i);EL(i)=(OF)*(WF+1)*kL(i);
end
AD=zeros(K,K);AL=zeros(K,K);
for i=1:1:K
AD(i,i)=-(1+ED(i));AL(i,i)=-(1+EL(i));
end
for i=2:1:K
if i==f
AD(i,i-1)=(WF)/(WF+1);AL(i,i-1)=(WF)/(WF+1);
else
AD(i,i-1)=1;AL(i,i-1)=1;
end
end
for i=1:1:K-1
AD(i,i+1)=ED(i+1);AL(i,i+1)=EL(i+1);
end
b=zeros(K,1);
b(f,1)=-XF/(WF+1);
XD=AD\b;
XL=AL\b;
CUBD=(kD.').*XD;CUBL=(kL.').*XL;
PF(i)=CUBD(i)+CUBL(i);
end
eeaq=abs((XL(K)-XD(K))/(XL(K)+XD(K)))
eeorg=abs((CUBD(1)-CUBL(1))/(CUBD(1)+CUBL(1)))