表函数的单位问题
2022/4/25 15:26:06 阅读:424 发布者:
使用了表函数之后,很多读者会遇到单位检验出错的问题,这是不了解表函数的单位设置方法。
表函数涉及到输入变量的单位和输出变量的单位。
输入变量的单位应该为无单位,即Demnl,或者为空;输出变量的单位与试用表函数的变量保持一致。
例如:人口=表函数(时间)
人口的单位是人;表函数的单位是人:时间的单位为Demnl。
但时间是默认有单位的,系统设置中可以设置各种时间单位,时间的单位无法缺省。在处理这个问题的时候,就需要引入变量平衡单位。
用模型举例:
其中,表函数为:表函数([(0,0)-(10,10)],(0,0),(10,10));人口为:人口=表函数(Time)。
人口的单位应为“人”。
但此时,无论如何设置表函数的单位,单位检测都会显示错误。
引入一个辅助变量“单位转换”,其值设为1。将模型改为:
此时,人口的单位为“人”;时间的单位为“Month”;单位转换的单位为“1/Month”;表函数的单位和人口的单位保持一致,同为“人”。
人口的公式变为:人口=表函数(Time*单位转换)
由于Time的单位是“Month”,单位转换的单位是“1/Month”,因此(Time*单位转换)的单位就转为Demnl,即空单位或无单位。符合表函数输入变量无单位的要求。
此处Time的单位也可以是系统默认的任一时间单位,单位转换的单位和Time的单位保持一致变化即可。
表函数的单位和人口的单位一致。即表函数的输出单位和引用表函数的变量单位保持一致。
经过转化之后,再进行单位检验就可以通过了。
引入变量作单位平衡是在单位检查时常用到的技巧,一方面是由于软件的内在逻辑,在某些环节必须要引入变量作平衡才能通过单位检验;一方面是由于模型单位可能存在匹配问题,比如在模型中同时出现“元”和“万元”,也需要引入变量作单位平衡,才能通过单位检验。
如有侵权,请联系本站删除!