写在前面
最近整理以前写过的程序,发现一些有用的东西,比如计算方法的实验。于是补一补博客,把它补出来。
用到的库
所有实验一共用到了numpy、matplotlib、pandas这几个常用的科学计算库,以及内置的数学库。
正文开始
实验一
实验一的第一个实验主要是比较三种差值方法的差异,书上的差不多忘完了,直接上运行结果吧,(全部代码见文末链接)。
可视化结果:
第二个实验,用牛顿差值求根号5的近似值,牛顿差值代码:
def Newton(datas):
# print(datas)
#datas是传入的x点的列表
results = [datas[0]]
le = len(datas)
for n in range(1, le):
res = 0
for k in range(0, n + 1):
temp = 1
for j in range(0, n + 1):
if k != j:
temp = temp * (datas[k] - datas[j])
temp = math.sqrt(datas[k]) / temp
res = res + temp
results.append(res)
return results
运行结果
实验二
复化梯形公式、辛普森公式等。运行结果:(完整代码见文末链接)
实验三
牛顿下山法
实验四
高斯塞德尔迭代、选主元高斯消元法。
实验五
欧拉方法、改进欧拉方法、4阶龙格库塔(输入示例跟实验要求的应该不一样,毕竟忘了,不过算法是通用的,输入不一样而已):
总结
所有代码放到网盘了,压缩包只有12kb,放心下载。
传送门
提取码 nnac
代码有些地方可能规范不太好,那会儿刚学,可自行修改一下。