我会尝试描述我的问题,但最后有一些具体的问题。
我有一些困难,解决一个涡轮机问题,在Matlab。目的是用已知的物理测量和运行条件来计算涡轮的效率。为了做到这一点,我使用了科学论文中给出的方程式:http://www.sciencedirect.com/science/article/pii/S0196890409003124
在我的例子中的问题是,要知道效率,我需要出口气体参数(温度,压力,速度…)这又取决于效率。我主要在一个名为EES (工程方程求解器)的软件中解决了这个问题,在这个软件中,方程可以按任何顺序写入,程序对它们进行分组并自动求解。由于程序中的限制,我切换到了Matlab,这不允许我扩展这个问题。
在matlab中,我首先以一个可解的顺序将所有的方程写成一个函数,除了求解问题所需的两个退出参数之外。将两个退出参数设置为函数的输入。我使用两个基本方程(质量守恒和计算损失)作为输出,其中正确的解将这些方程设置为零。然后我试着用with来解决这个问题。
这件事并没有真正解决,我也找不到解决办法。现在,我给matlab所有的方程(27),并试图以类似的方式解决它们。这也不是很好。(“找不到解决办法。因为最后一步无效而停止”)。
在这些方程中,有一些逻辑式和if-式,我还使用流体参数库作为com-服务器,以便获得气体在压力和温度变化时的参数。这两种方法都不允许从-inf输入到+inf,也可能有一些不连续的地方.我想这可能是我出问题的原因。
所以,我想这不是典型的编程问题。我不知道代码本身会有多大帮助。如果你对解决这个问题有什么想法的话,那会有很大帮助的!不过,我也有一些具体的问题:
发布于 2017-07-22 17:54:55
constraints.
fsolve()放在一边。使用最小化求解器。
https://stackoverflow.com/questions/10833452
复制相似问题