这基本上是一个关于基本面的问题,以及是否有更有效的方法来实现我正在寻找的东西。我在Excel中构建了一个工作流体动力学计算器来查找目标压力损失所需的流量,使用求解器处理优化,但它非常笨重且不方便用户使用。
我试图在Octave中复制这个函数,因为它在这里被广泛使用,但我是一个完全的初学者;我可能错过了一些明显的东西。我可以通过一系列函数轻松输入所有数学进行单次迭代,但我的excel文件需要使用'Solver'宏,而我不确定如何在Octave中有效地复制它。
我知道linprog(在matlab中)和glpk(octave)可用于求解线性方程组。
我有一系列嵌套方程,它们都依赖于单个矩阵Q(各个位置的流速)。需要许多其他输入,但它们要么在整个计算期间保持不变(例如系统几何结构),要么由Q指示(例如雷诺数和损耗系数)。在试图简化我的问题时,我已经解决了两个步骤:
- 编写代码来解决我的问题,输入:Q矩阵,输出:压力损失矩阵
- 创建一个循环,迭代不同的Q矩阵,直到满足压力损失矩阵的某些条件。
醇>
鉴于复杂性,我认为将表达式变为A * x = B(以便使用glpk)是不切实际的。 在excel中,我可以将求解器指向一个驱动大量影响压力损失的方程的Q值,并且它将找到实现目标所需的值。如何在Octave中最有效地复制此功能?
答案 0 :(得分:0)
首先关闭所有Solver
不是宏。离它很远。
所以,你要复制一个全面的“假设分析”插件 - 实际上如此复杂,微软选择与第三方专家公司签订合同来开发工具并为其提供支持(成功地基于他们分发的12亿份副本)。
你是否会使用a complete beginner
的低级编码语言?凉。我想看到这个!
冷却。以下是Solver功能的核对表,因此您不会遗漏任何内容:
祝你好运!
维基百科:Solver
Office.com:Define and Solve a Problem by using Solver
前线:官方解决方案页面:http://solver.com
AppSource.Microsoft.com: Solver(带视频)
前线:L Solver International Manazine