合肥工业大学数值分析(计算方法)满分实验(python实现)

写在前面

最近整理以前写过的程序,发现一些有用的东西,比如计算方法的实验。于是补一补博客,把它补出来。

用到的库

所有实验一共用到了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
代码有些地方可能规范不太好,那会儿刚学,可自行修改一下。

猜你喜欢

转载自blog.csdn.net/weixin_44801799/article/details/105253640