matlab中怎么解方程中参数怎么引用前面求出结果.function []=jiachunxll(P,d)%d为泄露孔直径毫米,P为液体压力,T0为天然气温度℃p=792;%甲醇密度A=(d/2000)^2*pi;P0=10130;%环境压力C0=0.5;g=9.8;hl=2;%液体距泄漏

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 21:43:23

matlab中怎么解方程中参数怎么引用前面求出结果.function []=jiachunxll(P,d)%d为泄露孔直径毫米,P为液体压力,T0为天然气温度℃p=792;%甲醇密度A=(d/2000)^2*pi;P0=10130;%环境压力C0=0.5;g=9.8;hl=2;%液体距泄漏
matlab中怎么解方程中参数怎么引用前面求出结果.
function []=jiachunxll(P,d)%d为泄露孔直径毫米,P为液体压力,T0为天然气温度℃
p=792;%甲醇密度
A=(d/2000)^2*pi;
P0=10130;%环境压力
C0=0.5;
g=9.8;
hl=2;%液体距泄漏口高度
A0=0;%防火堤内液池面积
u=1.5;%风速
Dz=pi*10*p;
T0=293.15;%环境温度
for t=1:50
Qm=p*A*C0*(2*((P-P0)/p+g*hl))^0.5;%泄漏量
Hv=1169690;%蒸发热j/kg————
Cp=2.534;%热熔kj/(kg*K)
Tb=337.75;%泄漏液体的沸点K
Tt=20+273;%泄漏液体的储存温度K
a=1.29*10^(-7);%水泥地面热扩散系数
K=1.1;%水泥地面导热系数
b=5.285*10^(-3);%大气稳定程度e时系数
n=0.3;
P1=12.8*1000;%液体表面蒸汽压Pa
M=32;
R=8.314;
if Tt >= Tb
Fv=Cp*(Tt-Tb)/Hv;%闪蒸比例
else
Fv=0
end
Q1=Qm*Fv;%闪蒸蒸发率kg/s
D=5*Fv*Qm%带到空气中的液体量kg/s
Q2=K*A0*(T0-Tb)/(Hv*(pi*a*1)^0.5)
r=(A0/pi)^0.5;%液池半径
Q3=b*P1*M/(R*T0)*u^((2-n)*(2+n))*r^((4+n)/(2+n))%————
Ds=Qm-D-Q2-Q3;
Dh=D+Q2+Q3;%损失的液体质量
s0=(Dz-Qm*t)/10
if s0>=pi/2
y=solve('s0-pi/2=y*(1-y^2)^0.5+asin(y)','y')
y=1+y
else
y=solve('pi/2-s0=y*(1-y^2)^0.5+asin(y)','y')
y=1-y
end
hl=y
A0=Ds/(0.015*p)
if A0 >= 112
A0=112
end
end
程序中s0上面计算出的结果下面解方程一直引用不了

matlab中怎么解方程中参数怎么引用前面求出结果.function []=jiachunxll(P,d)%d为泄露孔直径毫米,P为液体压力,T0为天然气温度℃p=792;%甲醇密度A=(d/2000)^2*pi;P0=10130;%环境压力C0=0.5;g=9.8;hl=2;%液体距泄漏
将y=solve('s0-pi/2=y*(1-y^2)^0.5+asin(y)','y')代码中,去掉丹引号,即
y=solve(s0-pi/2-(y*(1-y^2)^0.5+asin(y)),'y')
同理,y=solve('pi/2-s0=y*(1-y^2)^0.5+asin(y)','y')改为
y=solve(pi/2-s0-(y*(1-y^2)^0.5+asin(y)),'y')