量纲分析、单位转换与物理常数
19263 为本文评分:
2.0
量纲分析、单位转换与物理常数
匿名 2014年7月10日,星期四
物理常数
大学时期,我曾背诵过大多数常用物理常数,例如普朗克常数或地球质量。坦白说,如今若不查阅资料,其中大部分我已记忆模糊。虽然在互联网时代,通过从浏览器复制粘贴“普朗克常数”的搜索结果到IDL编辑器中并不困难,但IDL通过将许多此类物理常数存储在!CONST系统变量中,使得这一过程更加便捷。例如,如果我在编写使用引力常数计算引力的代码,只需简单地使用!CONST.G即可。这不仅节省了输入长数字作为变量的几秒钟时间,更重要的是,IDL自动将这些值存储为双精度,确保每次使用时都能达到最高精度。
IDL中的单位转换
在处理涉及量纲数据处理的代码开发时,另一个有用的工具是IDLUNIT,它可以执行单位转换、计算简单数学表达式等。与!CONST类似,所有值和计算都保持双精度以确保最高精度。
以下是一个如何将PSI转换为帕斯卡的示例:
PsiToPa = (IDLUnit('psi -> Pa')).Quantity
PaValue = psiValue * psiToPa
IDLUNIT甚至允许用户添加自定义单位,这在处理非标准单位时非常有用。例如,填满悉尼港需要多少个奥运会规格的游泳池?让我们定义一个“泳池(pool)”单位为50 x 25 x 2米 = 2500立方米,并将悉尼港定义为494吉升(数据来源:维基百科:非常规计量单位列表)。
IDLUnit.AddUnit, 'pool', '2500 m^3', PLURAL='pools'
IDLUnit.AddUnit, 'Sydharb', '494 Gl', PLURAL='Sydharbs'
IDLUnit('1 Sydharb -> pools')
IDL告诉我们,填满悉尼港需要197,600个泳池。
IDL关于IDLUNIT主题的帮助页面包含许多其他示例。
单位转换器部件
除了在代码或命令行中执行单位转换外,IDL还提供了一个交互式单位转换器。要启动此转换器,请运行'idl_convert'或从IDL Workbench的Macros菜单中选择'IDL Converter'。请注意,上述示例中定义的自定义单位也包含在此工具中。
