数值分析 C语言 代码

数值分析 C语言 代码

ID:47517391

大小:211.02 KB

页数:6页

时间:2020-01-12

数值分析 C语言 代码_第1页
数值分析 C语言 代码_第2页
数值分析 C语言 代码_第3页
数值分析 C语言 代码_第4页
数值分析 C语言 代码_第5页
资源描述:

《数值分析 C语言 代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、信息与软件工程学院标准实验报告(实验)课程名称计算数学基础电子科技大学教务处制表电子科技大学实验报告学生姓名:何安迪学号:2013220701020指导教师:顾小丰实验地点:实验中心306实验时间:2015.11.28一、实验室名称:实验中心306二、实验项目名称:计算数学(数值分析)的核心算法实现三、实验原理通过《计算数学基础》的课堂学习,参照《数值分析简明教程》的内容,熟练掌握插值方法、数值积分、方程求根的迭代法、线性方程组的迭代法、线性方程组的直接法等解题技巧。使用算法对例题进行求解,并且通过在VisualStudio中

2、编写C程序实现解题的算法。四、实验目的基于课程的学习,使用VisualStudio编写C程序实现计算数学(数值分析)的核心算法,熟练掌握课堂上学习的各种算法,充分理解课本上的知识,并将之用于实例求解。五、实验内容1、最小二乘法:在[-1,1]区间上取N=21个等距结点,计算出以相应节点上ex的值做为数据样本,作出m=3,5,7,9次的最小二乘多项式。并计算出不同阶最小二乘多项式给出的最小偏差六、实验环境OS:MicrosoftWindows764bit环境:MicrosoftVisualStudio2012七、实验步骤1.实验

3、一:最小二乘法,同样用到上面构造的高斯函数,根据最小二乘法的分划和多项式拟合公式构建实验二的函数voidproblem2(),代码如下。voidproblem2()//最小二乘法{doublex[21]={0},y[21]={0};doublea[4][4]={0},result_a[4]={0};doubleb[6][6]={0},result_b[6]={0};doublec[8][8]={0},result_c[8]={0};doubled[10][10]={0},result_d[10]={0};doubleright

4、[10]={0};double*result[4]={result_a,result_b,result_c,result_d};for(inti=0;i<21;i++){x[i]=-1+i*2/20.0;y[i]=exp(x[i]);}for(inti=0;i<10;i++){for(intj=0;j<10;j++){for(intk=0;k<21;k++){d[i][j]+=pow(x[k],i+j);}if(i<4&&j<4){a[i][j]=d[i][j];b[i][j]=d[i][j];c[i][j]=d[i][j];

5、}elseif(i<6&&j<6){b[i][j]=d[i][j];c[i][j]=d[i][j];}elseif(i<8&&j<8){c[i][j]=d[i][j];}}}for(inti=0;i<10;i++){for(intj=0;j<21;j++){right[i]+=pow(x[j],i)*y[j];}}Gauss(*a,right,result_a,4);Gauss(*b,right,result_b,6);Gauss(*c,right,result_c,8);Gauss(*d,right,result_d,10)

6、;for(inti=0;i<4;i++){intk=i*2+3;printf("在[-1,1]内e^x的%d阶最小二乘多项式为:",k);for(intj=0;j

7、一,计算得3、5、6、9阶的最小二乘多项式结果如下,根据验证结果正确。图3实验2结果九、实验结论在计算数学基础的这个小实验中,我重新系统地复习了数值分析中的最小二乘法。成功地用C/C++模拟了上述算法,对本学期的课程所学的内容有了进一步的巩固和提升。十、对本实验过程及方法、手段的改进建议本次实验进展良好,但建议可以改用Matlab或者Octave模拟这些算法。用matlab可以更为方便的展示,用C增加了些许的麻烦。报告评分:指导教师签字:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。