利用if语句和for循环计算离散变量时,当离散变量变化超出if规定边界值时,if仍然会参与计算
一般问题
发布于 2025-02-08 10:58:26
查看 23过去506天
for x in 1:x-1 loop
if x_out[x]>0 and x_out[x]<1
then
Xtt1[x]=((x_out[x])/(1-x_out[x]))^0.9*(rhor431a_L/rhor431a_G)^0.5*(yitar431a_G/yitar431a_L)^0.1;
else Xtt1[x]=1;
end if;
在这里 x_out[x]为出口干度,我想计算干度在0到1之间的值。程序在一开始时干度为0.8,可以正常计算,然而随着程序进行,干度会逐渐降到0以下,然而这时if语句仍然会判别干度大于0?仍然会参与计算,导致报错。
Error:pow error: pow(zhengqifashengqi_jianhua1.zhengqifashengqi_zhuti1.x_out[10]/(1-zhengqifashengqi_jianhua1.zhengqifashengqi_zhuti1.x_out[10]), 0.9) = pow(-0.01855787982613114, 0.9)
所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境