概述
表函数引用time影子变量中单位冲突问题
最近学习vensim的系统动力学仿真软件,建立系统动力学模型进行分析。
其中,设置了一个人口随时间年限变化的变函数(lookup)。
人口=中心城区人口(time),time为影子变量,单位为year,中心城区人口()为lookup的表函数,设置了不同年份的人口数值,单位为人。最后人口单位也人。
但在units check的时候,发现出现
warning:units in equation for - 人口
lookup - 中心城区人口 - used with dimensioned argument year
的错误。
查了经管之家的论坛后,发现该错误不影响模型评价,但单位不一致是表函数无法按照人的思维理解去换算单位,必须是公式左右两边单位相等。所以需要加入单位辅助,尝试增加一个“单位转换”常量,数值为1,单位为fraction/year。
人口=中心城区人口(time*单位转换)
将表函数引用的数据单位变为dmnl,之后再检查units check就不会再有错误了。
原始模式(表函数出错)
修改后模型(添加单位转换)
最后
以上就是高兴眼睛为你收集整理的表函数引用time影子变量中单位冲突问题的全部内容,希望文章能够帮你解决表函数引用time影子变量中单位冲突问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复