在一段时间内,当它周围的气温发生变化时,我试图计算物体的新温度。
基本上我从冰箱中的气温传感器获得定期读数。在某些情况下,这些读数每5分钟一次,在其他情况下每1分钟一次,因此读数之间的时间是可变的。
对于我得到的每一次阅读,我还要计算其核心食物的大致温度;像鸡一样的东西(我知道那部分是模糊的,但是如果有一个变量我可以调整那么就可以了。)
结果应该是"阻尼"实际气温的版本,显然任何物体都会慢慢改变温度,最终达到空气温度。
最初曾经有过"食物模拟物"放在传感器周围,所以温度会自动衰减,但现在不再是这样了。
我对热力学知之甚少。我不确定是否可以将温度变化的百分比添加到先前的阻尼值,或者我是否需要根据最后几个气温读数计算,或者是什么。
我想我正在寻找一个类似的结果:
10:00 2 degrees (air), 2 degrees (product)
10:05 2.5 degrees (air), 2.1 degrees (product)
10:10 2.5 degrees (air), 2.2 degrees (product)
10:20 2.7 degrees (air), 2.5 degrees (product)
我可以做一些非常便宜的事情,例如在过去的30分钟内平均读数,但我不认为会削减它!
我不确定这是这个问题的正确论坛!我很感激任何帮助 - 非常感谢。
编辑:我已经通过阅读傅立叶定律找到了解决方案。一旦我有时间,我会发布解决方案。感谢任何评论过的人。
答案 0 :(得分:0)
一个简单的模型是假设产品的温度变化是产品温度和空气温度之差的一小部分。
airTemp = readAirTemp();
productTemp = productTemp + factor * (airtemp - productTemp);
如果读数之间的时间间隔发生变化,则需要更改因子。 该因素还取决于您要模拟的产品。
让我们假设在5分钟的时间间隔内为0.5。
实施例(置于5度电冰箱中的25度产品的核心温度):
Time ProductTemp Temp Calculation:
0 25 5 <astart condition>
5 15 5 ptemp = 25 + 0.5 * (5-25)
10 10 5 ptemp = 15 + 0.5 * (5-15)
15 7.5 5 ptemp = 10 + 0.5 * (5-10)
20 6.25 5 ptemp = 7.5 + 0.5 * (5-7.5)
25 5.625 5 ptemp = 6.25 + 0.5 * (5-7.5)
真实的物理模型会考虑通过热辐射,热传导和对流进行热传递。但是,如果你想要一个简单但相当现实的模型,有一个变量来调整(factor
)是一个好的开始。
修改强>
这不是一个确切的模型。如果你把一些非常热的东西放在冰箱里(比如1000度),那么辐射将是冷却方程中的主要术语,温度会下降得更快。当差异很小时,上述模型应该可以正常工作。这个因素取决于项目(你提到的东西,以及改变食物温度和食物形状所需的能量 - 薄食物冷却得更快)及其周围(可以在其周围自由流动或冰箱满了)。
计算因子绝不简单。我建议你将温度计放在几种食物中,放入冰箱,每隔5分钟测量一次,然后计算每种食物类型的因子。这个因素仍然是不精确的 - 一个小苹果比一个大苹果冷却的速度快等等。