2022年数值分析课程设计分析方案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年数值分析课程设计分析方案.docx》由会员分享,可在线阅读,更多相关《2022年数值分析课程设计分析方案.docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 郑州轻工业学院数 值 分 析课 程 设 计 报 告题目:1.非线性方程求解 8.最小二乘法姓 名:杨君芳院 系):数学与信息科学学院专 业 班级:信科 11-01 学 号:541110010148 指 导 教师:汪远征时 间:2022 年 12 月 30 日至 2022 年 1 月 4 日1 / 25 名师归纳总结 - - - - - - -第 1 页,共 25 页精选学习资料 - - - - - - - - - 摘 要本文的内容主要属于数值代数问题的迭代解法和差值问题;在 VC+6.0 环境 下对非线性方程求根的三种迭代解法即一般迭代法,牛顿
2、迭代法和弦截法)的算法实现,将抽象问题转化为运算机编程的一般解法思想,实 现运用运算机解非线性方程的根;同时完成了运用最小二乘法的思想解决实际问 题的简洁设计,本文也对该程序设计的难点、解决技巧、每种方法的理论基础、程序的算法 分析、功能分析、模块设计以及算法的优点、缺点和主要参考文献等进行了具体 的作答;,2 / 25 名师归纳总结 - - - - - - -第 2 页,共 25 页精选学习资料 - - - - - - - - - 目 录数值分析 1课程设计报告 1摘要 2目录 31 理论基础 41.1 非线性方程的迭代解法 41.2 最小二乘法 42 算法分析 52.1 功能分析 52.1
3、.1 非线性方程的迭代解法 52.2 算法分析 53 程序设计 83.1 选单和主窗口设计 83.1.1 非线性方程的迭代解法 83.1.2 最小二乘法 103.2 模块设计 143.2.1 非线性方程的迭代解法 143.2.2 最小二乘法 184 总结 245 参考文献 253 / 25 名师归纳总结 - - - - - - -第 3 页,共 25 页精选学习资料 - - - - - - - - - 1 理论基础1.1 非线性方程的迭代解法1、 一般迭代法:第一将方程fx )=0 化为一个与它同解的方程x=f1x ),任取一个初值x0,代入 f1x ),得到 x1=f1x0 )再将 x1 代
4、入 f1x )得到 x2=f1x1 )以此类推,得到一个数列x k 1 f 1 x k 假如迭代格式产生的数列收敛,就迭代法收敛,得到的收敛值即为方程的根;2、 牛 顿 迭 代 法 : 用 迭 代 法 解 非 线 性 方 程 总 可 以 构 造x k1xkfx k为牛顿迭代法;fx kx=fx ) =x kx ) fx ) 即 迭 代 法3、 弦截法:用牛顿法求函数的倒数使用不便利,就可以用fx kfxkx k1代替fkx,就fxk1xkfx kfx kxk1x kx k1即为弦截法f1.2 最小二乘法在讨论两个变量之间的关系时,可以用回来分析的方法进行分析;当确定了描述两个变量之间的回来模型
5、后,就可以使用最小二乘法估量模型中的参数,进而建立体会方程;简洁地说,最小二乘的思想就是要使得观测点和估量点的距离的平方和达到最小;里的“ 二乘” 指的是用平方来度量观测点粤估量点的远近 在古汉语中“ 平方” 称为“ 二乘” ),“ 最小” 指的是参数的估量值要保证各个观测点与估量点的距离的平方和达到最小;4 / 25 名师归纳总结 - - - - - - -第 4 页,共 25 页精选学习资料 - - - - - - - - - 2 算法分析2.1 功能分析2.1.1非线性方程的迭代解法用三个函数来实现非线性方程的三种解法,三种方法包括1、用一般迭代的方法解非线性方程:编写函数 设计一个迭代
6、格式x=f1 调用函数FYibandouble x进行循环迭代,直到得出的结果与前一个结果的差值的肯定值小于给定的值0.00001,即为运算结果2、 用牛顿法解非线性方程:编写函数 FNewtondouble x 运算 f x k ,然后编写函数 void f x k Newton 实现 x k 1 x k f x k ,其中调用函数 FNewtondouble x进行循环迭代,f x k 直到得出的结果与前一个结果的差值的肯定值小于给定的值 0.00001,即为方程的根3、 用弦截法解非线性方程:编写函数FXuanjiedouble q,double r运算原方程函数的导数,然后编写函数 v
7、oid Xuanjie 实现 x k 1 x k f x k x k x k 1 其中调用f x k f x k 1 函数 FXuanjiedouble q,double r进行循环迭代,直到得出的结果与前一个结果的差值的肯定值小于给定的值 0.00001,即为方程的根2.1.2 最小二乘法已知数据对xj,yjjj1,2,m,n ,求多项式p x ma ximn 使得a a 1,a nni02a xiyj为最小,这就是一个最小二乘问题;1i0j2.2 算法分析通过上面各项功能的分析、分类、综合,依据模块化程序设计的要求,得到模块结构 k+ while |x0-x|e & k1000 如 k/d
8、funx0 k+ while |x0-x|e & k1000 如 k k+ while |x0-x|e & k1000 如 k1000 真 输出近似根 x 假 提示信息2.2.2 最小二乘法用线性函数p x abx 为例,拟合给定数据x y i i,i1,2,m ;算法描述:步骤 1:输入 m 值,及 x y i i , i 1,2, , m;T步骤 2:建立法方程组 A AX AY ;步骤 3:解法方程组;步骤 4:输出p x abx ;7 / 25 名师归纳总结 - - - - - - -第 7 页,共 25 页精选学习资料 - - - - - - - - - 3 程序设计3.1 选单和主
9、窗口设计3.1.1 非线性方程的迭代解法主要的设计界面和代码#include #include #include double fdouble x return 2*powx,3-x-1 ; double FYibandouble x return powx+1/2,1.0/3 ; double FNewtondouble x return x-fx/6*powx,2-1; double FXuanjiedouble q,double r return q-fq*q-r/fq-fr; double x,x0,x1,x2,t ;void Yiban x0=1.5 ;t=1;cout 一般线性迭代
10、过程为:=0.00001 x1=FYibanx0 ;t=x0-x1 ;x0=x1 ;8 / 25 名师归纳总结 - - - - - - -第 8 页,共 25 页精选学习资料 - - - - - - - - - printf%.5lfn,x0; printf 一般线性迭代结果为:%.5lfnn,x0 ; void Newton x0=1.5 ;t=1;cout 用 Newton 迭代过程为: =0.00001 x1=FNewtonx0 ;t=x0-x1 ;x0=x1 ;printf%.5lfn,x0; printf 用 Newton 迭代结果为: %.5lfnn,x0 ; void Xuanj
11、ie x0=1.5 ;x1=1.4 ;t=1;cout 用弦截法迭代过程为:=0.00001 x2=FXuanjiex1,x0 ;t=x1-x2 ;x0=x1 ;x1=x2 ;printf%.5lfn,x0; printf 用弦截法迭代结果为:%.5lfnn,x0 ; void main cout&+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n*tttttttt &endl;cout&t 选 择 用 一 般 迭 代 法 、 牛 顿 法 、 弦 截 法 求 解 方 程 : 2*x3-x-1=0t &endl
12、 ;cout&tta: 一般迭代法 ttttt &endl;cout&ttb: 牛顿法 ttttt &endl;9 / 25 名师归纳总结 - - - - - - -第 9 页,共 25 页精选学习资料 - - - - - - - - - cout&ttc:弦截法 ttttt &endl;cout&ttd:三种方法 以供比较) tttt &endl;cout&+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+& ;switchc case a: Yiban ;break;case b: Newton ;brea
13、k;case c: Xuanjie ;break;case d: Yiban ;Newton ;Xuanjie ; 3.1.2 最小二乘法主要的设计界面和代码#include #include #include #include void Printdouble *a,int m,int n/ 输出函数 int i,j ;fori=0 ;i forj=0 ;j coutaij; cout / 矩阵乘积 int i,j ;double *c ;c=new double*m ; fori=0 ;i ci=new doubleq ;fori=0 ; i forj=0 ; j cij=0 ;forin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 数值 分析 课程设计 方案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内