自动化项目的编码不仅仅是编写代码
将数学方程转换为代码是涉及计算机解决方案的自动化项目开发的一部分,但也被排除在外。我们必须考虑相对于正在开发的项目需求的数学方程的有效性。我们还必须考虑求解涉及数据和时间的方程的求解方法。
必须检测、控制并在可能的情况下纠正到达求解算法的数据问题。精确管理必须发生在流程的各个阶段。必须检测和管理解决方案过程和实施过程中产生的错误。
这是书籍的主题,但希望可以用几百字来推动思考过程。
首先,请记住,并非我们没有特别确定的所有内容默认情况下都是随机的。计算机及其解决问题的程序可能会引入模糊的偏见 通过分析,这显然是确定性的——只是不是故意的。说明问题的简单方法是精确的。在许多情况下,我们愿意认为中间值是完全正确的,或者至少使用我们从数学中知道的标准进行了四舍五入。
在各个级别,截断 - 而不是四舍五入 - 强制计算的数字适合为它们提供的可变大小。有时这无关紧要,但有时它会引入偏见。使用数学过程和实践来主动管理所有计算值的存储值可能很有用,以便解决方案引擎保持预期的准确性。这在编程课上很常见,但经常被忽视,因为理解和管理精度是枯燥乏味的。
有时,观察结果缺乏一致性(例如,由于采样或同步问题)或测量瞬间的可靠精度(例如,由于瞬态不稳定性)。通常有一些方法可以清理它(例如,通过边界限制检查、数据分析和回归技术)。通常有一些方法可以使数据流所揭示的内容更多,但其中许多都涉及程序员对可能发生的事情的猜想。 小心这个 ——一个好的结果太重要了,不能先验 ,但不正确的结果可能比它促进的潜在改进的价值更具破坏性。
有时,解决程序本身,即使有适当的精确管理,也会引入问题。假设我们想从现在到无穷集成一个流功能。即使是非常小的错误或歧义,在一次计算中微不足道,增长到天文值 当长时间连续积累时。这可能与舍入和截断相混淆,并由于连续有偏差的测量或集成方法而产生差异。随着时间的推移,这可能会表现为巨大的错误,例如,在 PID 控制器的“I”项中。有数据控制和精确管理程序,以及解决这些问题所需解决方案的数学方法,但发现它们的途径可能令人尴尬。
有时,数学在没有完全理解问题、数学或数学的实际设计目的的情况下被应用到需求中。例如,有时可能会使用完全相同的数学来检测某种情况,而有时则完全错过它。
工业技术