程序实例 ch4_11.c:银行存款复利的计算,假设目前银行年利率是1.5%,复利公式如下:
上述公式total代表本金总和,capital代表本金,rate是年利率, n 是年数。假设有一笔5万元存款,请计算5年后的本金总和。
程序实例 ch4_12.c:有一辆原价100万元的品牌车,前3年每年价值衰减15%,计算车辆3年后的残值是多少。
注 读者可以留意第8行价值衰减的公式。
有两个点坐标分别是( x 1, y 1)、( x 2, y 2),求两个点的距离。其实这是中学数学的勾股定理,即直角三角形两直角边边长的平方和等于斜边的平方。
所以,对于坐标上的两个点必须计算相对直角三角形的两个边长。假设 a 是( x 1- x 2), b 是( y 1- y 2),然后计算斜边长,这个斜边长就是两点的距离,图示如下:
计算公式如下:
可以将上述公式转换成下列计算机中的数学表达式:
在人工智能的应用中,常用点坐标代表某一个对象的特征(feature),计算两个点之间的距离,相当于可以了解物体间的相似程度。距离越短,代表相似度越高;距离越长,代表相似度越低。
程序实例 ch4_13.c:有两个点坐标分别是(1, 8)与(3, 10),请计算这两点之间的距离。
每个人在成长过程可能会经历买房子,第一次住在属于自己的房子里是一个美好的经历,大多数人在这个过程中可能会需要向银行贷款。这时我们会思考需要贷款多少钱?贷款年限是多少?银行利率是多少?然后我们可以利用上述已知数据计算每个月还款金额是多少,同时我们会好奇整个贷款结束究竟还了多少贷款本金和利息。在做这个专题实操分析时,我们已知的条件如下。
贷款金额:使用loan作变量。
贷款年限:使用year作变量。
年利率:使用rate作变量。
然后我们需要利用上述条件计算下列结果。
每月还款金额:使用monthlyPay作变量。
总共还款金额:使用totalPay作变量。
处理这个贷款问题的数学公式如下:
在银行的贷款术语中习惯用年利率,所以碰上这类问题我们需将所输入的利率先除以100,这是转成百分比,同时要除以12表示是月利率。可以用下列方式计算月利率,使用monthrate作变量。
monthrate=rate / (12×100)
为了不让求每月还款金额的数学公式变复杂,笔者将分子(第19行)与分母(第20行)分开计算,第21行则是计算每月还款金额,第22行是计算总共还款金额。
在几何学中,假设正五边形边长是 s ,其面积的计算公式如下:
上述计算正五边形面积需要使用数学的pi和tan( )。
程序实例 ch4_15.c:请输入正五边形的边长 s ,此程序会计算此正五边形的面积。
我们可以使用经度和纬度计算地球上每一个点的位置。有了两个地点的经纬度后,可以使用下列公式计算两点之间的距离。
distance= r ×acos(sin( x 1)×sin( x 2)+cos( x 1)×cos( x 2)×cos( y 1- y 2))
上述 r 是地球的半径,约6371千米,由于Python的三角函数参数都是弧度(radians),我们使用上述公式时,需使用math.radian( )函数将经纬度角度转换成弧度。上述公式西经和北纬是正值,东经和南纬是负值。
经度坐标是-180°~180°,纬度坐标是在-90~90°,在用括号表达时(纬度,经度),第一个参数是纬度,第二个参数是经度。
其实我们开启Google地图后就可以在网址行看到我们目前所在地点的经纬度,选择不同地点就可以看到所选地点的经纬度信息。
查询后得知台北车站的经纬度是(25.0452909, 121.5168704),香港红磡车站的经纬度是(22.2838912, 114.173166),为了简化程序,保留4位小数。
程序实例 ch4_16.c:香港红磡车站的经纬度信息是(22.2839, 114.1731),台北车站的经纬度是(25.0452, 121.5168),请计算台北车站至香港红磡车站的距离。
注 上述第19行~21行其实是同一道指令,因为此道指令太长,所以分行输出,分行方式是在最右边添加“\”符号,C编译程序会知道下一行是与这行相同指令。
在中学数学中,我们可以看到下列一元二次方程式:
可以用下列公式获得根:
上述方程式有3种状况,如果上述 b 2 -4 ac 是正值,那么这个一元二次方程式有2个实数根。如果上述 b 2 -4 ac 是0,那么这个一元二次方程式有1个实数根。如果上述 b 2 -4 ac 是负值,那么这个一元二次方程式没有实数根。
实数根的几何意义是与 x 轴交叉点的坐标。
程序实例 ch4_17.c:有一个一元二次方程式如下:
3 x 2 +5 x +1=0
求这个方程式的根。
假设有一个联立线性方程式如下:
ax + by = e
cx + dy = f
可以用下列方式获得x和y值。
在上述公式中,如果“ a × d – b × c ”等于0,则此联立线性方程式无解。
程序实例 ch4_18.c:计算下列联立线性方程式的值。
2x+3y=13
x –2y=-4
前面程序实例笔者使用3.1415926代表圆周率pi,这个数值已经很精确了,其实我们也可以使用反余弦函数acos( )计算圆周率pi。
acos(-1)
当将pi设为双倍精度浮点数时,可以获得更精确的圆周率pi。
程序实例 ch4_19.c:使用反余弦函数acos( )计算圆周率pi。