由摄氏温度和华氏温度转换想到的。

夙愿已清 提交于 2019-12-01 20:48:37

在学习北京理工大学的pytyon语言程序设计的第一课时遇到一个练习题,让写一个摄氏温度和华氏温度的转换程序,课程中直接就把这个转换公式告诉我了。可是我想知道这个公式是怎么来的?为什么由定义就能知道转换公式呢? 这中间一定少了什么东西。

 

我稍微研究了一下,发现是这么回事。

根据定义有以下关键信息:

华氏度的定义,标压下 冰的熔点是32F,水的沸点是212F,把32F到212F中间平均分,每一份叫1F。

摄氏度的定义,标压霞冰水混合物是0C,水沸点是100C,把0C到100C中间平均分,每一份叫1C。

 

以华氏度来说,平均分是什么意思呢? 32F的下一个数字是33F吗?

平均分的意思是第二项与第一项的差是一个常数,第三项和第二项的差是一个常数,第N项和第N-1项的差是一个常数,而且是同一个常数。这个常数就叫等差数列的公差。

根据高中学习的等差数列知识,a1=32,a100=212,求an,

an=a1+(n-1)*d,带入a1和a100即可求得d=1.8,所以an=32+(n-1)*1.8

所以我们可以把华氏温度列出来一个表格

32  33.8  35.6  37.4  。。。212

 

同样的道理,对于摄氏温度有

a1=0,a100=100,求得d=1.0,所以an=0+(n-1)*1.0

所以我们可以把摄氏温度列出来一个表格

0  1    2    3   。。。 100

 

我们把上面华氏温度的数据放在一个集合里面,这个集合叫F,我们把上面摄氏温度的数据放在一个集合里面,这个集合叫C。

可以发现F集合与C集合是存在一 一对应的关系的。我们想知道这种对应关系究竟是什么?因为不管是F还是C里面的元素都是平均分出来的,如果有对应关系的话,

我们有利用怀疑这是一种线性对应关系,所以我们设F=m*C+n

要求m和n的值,两个未知数,两个方程,只需要两组数据即可,很简单,当F=32的时候,C=0,当F=212的时候,C=100。

32=n

212=m*100+n

求得n=32,m=1.8

带入F=m*C+n得F=1.8C+32或者C=(F-32)/1.8

 

 

其实写这篇文章的时候突然就想起来高中数学对函数的一种误解或者认识不足,高中以前y和x的关系,仅仅是觉得y和x有某种数量关系,而上了高中我们把函数看作是一个集合与另外一个集合的关系,从定义域到值域,到大学的线性变化中的矩阵的乘法,尤其是向量与矩阵的乘法体现的特别明显。反正我学习的时候完全没有领会到这点,思维还是停留在初中的那种两个变量的数量关系上面。

 

 

 

 

 

最后有一个小练习:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!