我有两个参数fL and fV
,都是T和P的函数。如果我创建一个名为func(T)
的函数,它只需要T
作为输入,那么我该如何实现Matlab中的这一步:
Guess P
if |(fL/fV)-1|<0.0001 % where fL and fV are both functions of T and P
then print P
else P=P*(fL/fV)
最初建议在算法开头猜测P
。在此之前的所有其他步骤涉及公式计算,并且不涉及任何收敛,因此我没有写出所有这些公式。需要注意的重要事项是,即使我们仅将T
作为我们函数的输入,压力也会在代码的开头被猜到,并且不是用户输入的一部分。
谢谢!
答案 0 :(得分:1)
为了“猜测”P
,您可以继续使用a)有根据的猜测或b)随机猜测。因此,例如,如果您在日常环境中处理压力,100kPa
将是一个合理的猜测。随机猜测意味着将P
初始化为在有意义的域上生成的随机变量。因此,在我的示例中,它可以是在90kPa
和110kPa
之间均匀分布的随机变量。您选择哪种方法取决于您的具体问题。
您可以按如下方式编写您的要求
minP=90;maxP=110;
P=minP+(maxP-minP)*rand;%# a random guess between 90 & 100
<some code here where you calculate fL and fV
if abs(fL/fV-1)<0.0001
fprintf('%f',P)
else
P=P*fL/fV;
end