数 值 分 析 C 语 言 代
码
精品文档
信息与软件工程学院
标 准 实 验 报 告
(实验)课程名称 计算数学基础
电子科技大学教务处制表
收集于网络,如有侵权请联系管理员删除
精品文档
电 子 科 技 大 学
实 验 报 告
学生姓名: 何安迪 学 号:2013220701020 指导教师: 顾小丰
实验地点: 实验中心 306 实验时间: 2015. 11.28
一、实验室名称: 实验中心 306
二、实验项目名称: 计算数学(数值分析)的核心算法实现
三、实验原理
通过《计算数学基础》的课堂学习,参照《数值分析简明教程》的内
容,熟练掌握插值方法、数值积分、方程求根的迭代法、线性方程组的迭代
法、线性方程组的直接法等解题技巧。使用算法对例题进行求解,并且通过在
Visual Studio 中编写 C 程序实现解题的算法。
四、实验目的
基于课程的学习,使用 Visual Studio 编写 C 程序实现计算数学(数值分
析)的核心算法,熟练掌握课堂上学习的各种算法,充分理解课本上的知识,
并将之用于实例求解。
五、实验内容
1、最小二乘法:在 [-1, 1] 区间上取 N = 21 个等距结点,计算出以相应节
x
点上 e 的值做为数据样本,作出 m = 3,5,7,9 次的最小二乘多项式。并计算
出不同阶最小二乘多项式给出的最小偏差
20
2
( m ) ( y ( x ) y )
m i i
i 0
六、实验环境
收集于网络,如有侵权请联系管理员删除
精品文档
OS:Microsoft Windows 7 64bit
环境: Microsoft Visual Studio 2012
七、实验步骤
1. 实验一:最小二乘法,同样用到上面构造的高斯函数,根据最小二乘法
的分划和多项式拟合公式构建实验二的函数 void problem2() ,代码如下。
void problem2() // 最小二乘法
{
double x[21] = { 0 }, y[21] = { 0 };
double a[4][4] = { 0 }, result_a[4] = { 0 };
double b[6][6] = { 0 }, result_b[6] = { 0 };
double c[8][8] = { 0 }, result_c[8] = { 0 };
double d[10][10] = { 0 }, result_d[10] = { 0 };