数值分析课程设计分析方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

郑州轻工业学院

《数值分析》

课程设计报告

题目: 1.非线性方程求解 8.最小二乘法

姓名:杨君芳

院<系):数学与信息科学学院

专业班

级:信科 11-01

学号:541110010148

指导教

师:汪远征

时间:2018年12月30日至2018年1月4日

摘要

本文的内容主要属于数值代数问题的迭代解法和差值问题。

在VC++6.0环境下对非线性方程求根的三种迭代解法<即一般迭代法,牛顿迭代法和弦截法)的算法实现,将抽象问题转化为计算机编程的一般解法思想,实现运用计算机解非线性方程的根。同时完成了运用最小二乘法的思想解决实际问题的简单设计,

本文也对该程序设计的难点、解决技巧、每种方法的理论基础、程序的算法分析、功能分析、模块设计以及算法的优点、缺点和主要参考文献等进行了详细的作答。

目录

《数值分析》1

课程设计报告1

摘要2

目录3

1 理论基础4

1.1 非线性方程的迭代解法4

1.2最小二乘法4

2 算法分析5

2.1 功能分析5

2.1.1非线性方程的迭代解法5

2.2 算法分析5

3 程序设计8

3.1 选单和主窗口设计8

3.1.1非线性方程的迭代解法8

3.1.2最小二乘法10

3.2 模块设计14

3.2.1非线性方程的迭代解法14

3.2.2 最小二乘法18

4 总结24

5 参考文献25

1 理论基础

1.1 非线性方程的迭代解法

1、 一般迭代法:首先将方程f

入f1

)(11k k x f x =+如果迭代格式产生的数列收敛,则迭代法收敛,得到的收敛值即为方程的根。

2、 牛顿迭代法:用迭代法解非线性方程总可以构造 x=f

)

()

(1k k k k x f x f x x '-

=+为牛顿迭代法。 3、 弦截法:用牛顿法求函数的倒数使用不方便,则可以用

)

()()

(1--k k k x f x f x f 代替)(k x f ',则

)()

()()

(111--+---

=k k k k k k k x x x f x f x f x x 即为弦截法

1.2最小二乘法

在研究两个变量之间的关系时,可以用回归分析的方法进行分析。当确定了描述两个变量之间的回归模型后,就可以使用最小二乘法估计模型中的参数,进而建立经验方程。简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小。里的“二乘”指的是用平方来度量观测点粤估计点的远近<在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。

2算法分析

2.1功能分析

2.1.1非线性方程的迭代解法

用三个函数来实现非线性方程的三种解法,三种方法包括<即程序中的三个模块):

1、用一般迭代的方法解非线性方程:编写函数FYiban(double x>设计一个迭代格式x=f1调用函数FYiban(double x>进行循环迭代,直到得出的结果与前一个结果的差值的绝对值小于给定的值0.00001,即为计算结果

2、 用牛顿法解非线性方程:编写函数FNewton(double x>计算

)

()

(k k x f x f ',然后编写函数void Newton(>实现)

()

(1k k k k x f x f x x '-

=+,其中调用函数FNewton(double x>进行循环迭代,直到得出的结果与前一个结果的差值的绝对值小于给定的值0.00001,即为方程的根

3、 用弦截法解非线性方程:编写函数FXuanjie(double q,double r>计算原方程函数的导

数,然后编写函数void Xuanjie(>实现)()

()()

(111--+---

=k k k k k k k x x x f x f x f x x 其中调用

函数FXuanjie(double q,double r>进行循环迭代,直到得出的结果与前一个结果的差值的绝对值小于给定的值0.00001,即为方程的根

2.1.2最小二乘法

已知数据对()(),1,2,

,j j

x y j n =,求多项式0

()()m

i

i i p x a x m n ==<∑

使得2

0110(,,

,)n

m i n i j j j i a a a a x y ==⎛⎫

Φ=- ⎪⎝⎭

∑∑为最小,这就是一个最小二乘问题。

2.2算法分析

通过上面各项功能的分析、分类、综合,按照模块化程序设计的要求,得到模块结构<作为后面

选单设计的主要依据

2.2.1非线性方程的迭代解法

1、根据一般迭代公式:=+1k x )(k x f ,做出流程图如下:

2、根据牛顿迭代公式:)

()

(1k k k k x f x f x x '-

=+,做出流程图如下:

3、根据弦截法迭代公式:)()()()

(111--+---

=k k k k k k k x x x f x f x f x x ,做出流程图如下:

相关文档
最新文档