马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
在保证Pf最小的情况下,用matlab优化Rf,Hpf,Hcf的值?
%***************************************************************
% This function is used to caculate the measurement of solar
% collector.
%***************************************************************
function [Pf,Rf,Hpf,Hcf]=SoclCal(ta,ra,pr,pc,r,yt,pout)
%***************************************************************
% Tempretures
%***************************************************************
ts=348;
tm=324;
ti=(ta+tm)/2;
tt=(ts-ti)/ta;
%**************************************************************
% Physical Coefficient
%**************************************************************
rm=1.093;
k=2.76e-2;
g=9.8;
cp=1.005e3;
rf=24.3e-6;
v=16.96e-6;
pm=(rm^8*k^5*g^15)/(ra^15*cp^15*rf^(5/3)*v^(7/3));
%**************************************************************
% Coefficient
%**************************************************************
roc=pi*pr/cos(2*pi/45);
hoc=(pc/tt)*(pout^11/((0.018*yt)^11*pm*r^16))^(1/15);
%**************************************************************
% Independent Variable
%**************************************************************
R=[1:15];
Hp=[0.1:0.02:2.5];
%**************************************************************
% Grid Paremeters
%**************************************************************
x=R;
y=Hp;
[X,Y]=meshgrid(x,y);
P=roc.*X.^2+hoc.*Y.^(0.80)./X;
%***************************************************************
% Get mininum value of P
%***************************************************************
a=min(P);
Pf=min(a);
[s,t]=size(P);
zb=0;
for i=1:s
for j=1:t
if P(i,j)==Pf
zb=1;
break;
end
end
if zb==1
break;
end
end
Rf=X(i,j);
Hpf=Y(i,j);
Hcf=(Pf-pi*pr*Rf^2/cos(2*pi/45))/pc;
以上是我自己做的程序,所得结果非常的不合情理,请版主帮我修改一下!
先谢谢了!
[ 本帖最后由 eight 于 2007-9-16 23:19 编辑 ] |