认识指数函数
基本概念
(x+y)称为底数(或是基数base),幂的部分n称为指数(index),则称指数表达式。
左边有函数,则称指数函数(exponintial function)。
复利计算实例
列出1~10年的累积金额。
base = 10000 rate = 0.03 year = 10 for i in range(1, year+1): base = base + base*rate print('经过 {0:2d} 年后累积金额 {1:6.2f}'.format(i,base))
代码如下:
[Running] python -u "c:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\tempCodeRunnerFile.py" 经过 1 年后累积金额 10300.00 经过 2 年后累积金额 10609.00 经过 3 年后累积金额 10927.27 经过 4 年后累积金额 11255.09 经过 5 年后累积金额 11592.74 经过 6 年后累积金额 11940.52 经过 7 年后累积金额 12298.74 经过 8 年后累积金额 12667.70 经过 9 年后累积金额 13047.73 经过 10 年后累积金额 13439.16 [Done] exited with code=0 in 0.474 seconds
病毒复制
假设初期病毒数量是100,每个小时病毒可以翻倍,计算经过10小时后的病毒量,同时列出每小时的病毒量。
base = 100 rate = 1 hour = 10 for i in range(1, hour+1): base = base + base*rate print('经过 {0:2d} 小时后累积病毒量 {1}'.format(i,base))
运行结果如下:
[Running] python -u "c:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\ch15_2.py" 经过 1 小时后累积病毒量 200 经过 2 小时后累积病毒量 400 经过 3 小时后累积病毒量 800 经过 4 小时后累积病毒量 1600 经过 5 小时后累积病毒量 3200 经过 6 小时后累积病毒量 6400 经过 7 小时后累积病毒量 12800 经过 8 小时后累积病毒量 25600 经过 9 小时后累积病毒量 51200 经过 10 小时后累积病毒量 [Done] exited with code=0 in 0.227 seconds
指数应用在价值衰减
假设当初花100万买一辆车,计算未来3年后车辆的残值。
base = 100 rate = 0.1 year = 3 for i in range(1, year+1): base = base - base*rate print('经过 {} 年后车辆残值 {}'.format(i,base))
运行结果如下:
[Running] python -u "c:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\tempCodeRunnerFile.py" 经过 1 年后车辆残值 90.0 经过 2 年后车辆残值 81.0 经过 3 年后车辆残值 72.9 [Done] exited with code=0 in 0.305 seconds
用指数概念看iPhone容量
省略
指数运算的规则
指数运算称为幂(Exponentiation)运算。
指数是0
除了0以外,所以数的0次方皆是1。
相同底数的数字相乘
两个相同底数的数字相乘,结果是底数不变,指数相加。
相同底数的数字相除
两个相同底数的数字相除,结果是底数不变,指数相减。
相同指数幂相除
相同指数幂相除,指数不变,底数相除。
指数幂是负值
指数的指数运算
两数相乘的指数
根号与指数
指数函数的图形
指数函数的图形在计算机领域应用非常广泛,当数据以指数方式呈现时,如底数是大于1,数据将呈现非常陡峭的增长。
底数是变量的图形
绘制底数是变量的图形,假设指数是2,格式如下:
我们形容数据是依据底数的平方做变化,在计算机领域,也可以代表程序执行的时间复杂度,一个算法的好坏可用时间复杂度表示,下列从左到右相当于是从好到不好。
用程序绘制O(1)、O(log n)、O(n)、O(nlog n)、的图形,读者可以了解当n是1~10时,所需要的程序运行时间关系图。
import matplotlib.pyplot as plt import numpy as np xpt = np.linspace(1, 5, 5) # 建立含10个素的数组 ypt1 = xpt / xpt # 时间复杂度是 O(1) ypt2 = np.log2(xpt) # 时间复杂度是 O(logn) ypt3 = xpt # 时间复杂度是 O(n) ypt4 = xpt * np.log2(xpt) # 时间复杂度是 O(nlogn) ypt5 = xpt * xpt # 时间复杂度是 O(n*n) plt.plot(xpt, ypt1, '-o', label="O(1)") plt.plot(xpt, ypt2, '-o', label="O(logn)") plt.plot(xpt, ypt3, '-o', label="O(n)") plt.plot(xpt, ypt4, '-o', label="O(nlogn)") plt.plot(xpt, ypt5, '-o', label="O(n*n)") plt.legend(loc="best") # 建立图例 plt.axis('equal') plt.show()
运行结果:
指数幂是实数变量
当指数幂是实数变量,例如
当x是负值时,负值越大,y值将逐渐趋近于0。如果x=0,y值是1。当x是正值时,正值越大,数值将极速上升。
绘制下列两条x=-3至x=3的指数函数图形。
代码如下:
import matplotlib.pyplot as plt import numpy as np x2 = np.linspace(-3, 3, 30) # 建立含30个素的数组 x4 = np.linspace(-3, 3, 30) # 建立含30个素的数组 y2 = 2x2 y4 = 4x4 plt.plot(x2, y2, label="2x") plt.plot(x4, y4, label="4x") plt.plot(0, 1, '-o') # 标记指数为0位置 plt.legend(loc="best") # 建立图例 plt.axis([-3, 3, 0, 30]) plt.grid() plt.show()
运行结果如下:
指数幂是实数变量但是底数小于1
底数小于1,例如底数是0.5,参考函数:
此是线形方向将完全相反,指数值是正值,正值越大将越趋近于0。指数值的负值,负值越大数值将越大。不过如果指数是0,结果是1。
绘制下列两条x=-3至x=3的指数函数图形。
代码如下:
import matplotlib.pyplot as plt import numpy as np x2 = np.linspace(-3, 3, 30) # 建立含30个素的数组 x4 = np.linspace(-3, 3, 30) # 建立含30个素的数组 y2 = 0.5x2 y4 = 0.25x4 plt.plot(x2, y2, label="0.5x") plt.plot(x4, y4, label="0.25x") plt.plot(0, 1, '-o') # 标记指数为0位置 plt.legend(loc="best") # 建立图例 plt.axis([-3, 3, 0, 30]) plt.grid() plt.show()
运行结果如下:
今天的文章 指数概念与指数函数分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/83322.html