一元非线性方程求解数值分析.docx

上传人:b****2 文档编号:1683282 上传时间:2023-05-01 格式:DOCX 页数:18 大小:155.20KB
下载 相关 举报
一元非线性方程求解数值分析.docx_第1页
第1页 / 共18页
一元非线性方程求解数值分析.docx_第2页
第2页 / 共18页
一元非线性方程求解数值分析.docx_第3页
第3页 / 共18页
一元非线性方程求解数值分析.docx_第4页
第4页 / 共18页
一元非线性方程求解数值分析.docx_第5页
第5页 / 共18页
一元非线性方程求解数值分析.docx_第6页
第6页 / 共18页
一元非线性方程求解数值分析.docx_第7页
第7页 / 共18页
一元非线性方程求解数值分析.docx_第8页
第8页 / 共18页
一元非线性方程求解数值分析.docx_第9页
第9页 / 共18页
一元非线性方程求解数值分析.docx_第10页
第10页 / 共18页
一元非线性方程求解数值分析.docx_第11页
第11页 / 共18页
一元非线性方程求解数值分析.docx_第12页
第12页 / 共18页
一元非线性方程求解数值分析.docx_第13页
第13页 / 共18页
一元非线性方程求解数值分析.docx_第14页
第14页 / 共18页
一元非线性方程求解数值分析.docx_第15页
第15页 / 共18页
一元非线性方程求解数值分析.docx_第16页
第16页 / 共18页
一元非线性方程求解数值分析.docx_第17页
第17页 / 共18页
一元非线性方程求解数值分析.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

一元非线性方程求解数值分析.docx

《一元非线性方程求解数值分析.docx》由会员分享,可在线阅读,更多相关《一元非线性方程求解数值分析.docx(18页珍藏版)》请在冰点文库上搜索。

一元非线性方程求解数值分析.docx

一元非线性方程求解数值分析

课程设计报告

课程名称

课题名称

专业

班级

学号

姓名

指导教师

 

年月日

湖南工程学院

课程设计任务书

 

课程名称计算方法

课题

 

专业班级

学生姓名

学号

指导老师

审批

 

任务书下达日期2007年6月9日

任务完成日期2007年6月20日

一、设计内容与设计要求

1.设计内容:

对课程《计算方法》中的常见算法进行综合设计或应用(具体课题题目见后面的供选题目)。

2.设计要求:

●课程设计报告正文内容

a.问题的描述及算法设计;

b.算法的流程图(要求画出模块图);

c.算法的理论依据及其推导;

d.相关的数值结果(通过程序调试),;

e.数值计算结果的分析;

f.附件(所有程序的原代码,要求对程序写出必要的注释)。

●书写格式

a.要求用A4纸打印成册

b.正文格式:

一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

c.正文的内容:

正文总字数要求在3000字左右(不含程序原代码)。

d.封面格式如下页。

●考核方式

指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。

具体考核标准包含以下几个部分:

a.平时出勤(占10%)

b.系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)

c.程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)

d.设计报告(占30%)

注意:

不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。

e.独立完成情况(占10%)。

●课程验收要求

a.判定算法设计的合理性,运行相关程序,获得正确的数值结果。

b.回答有关问题。

c.提交课程设计报告。

d.提交软盘(源程序、设计报告文档)。

e.依内容的创新程度,完善程序情况及对程序讲解情况打分。

三、进度安排

1、班级:

信息与计算科学:

0501、0502、0503

2、主讲教师:

聂存云

3、辅导教师:

聂存云、赵钍焱

4、时间安排:

第16周星期一8时:

30分——11时:

30分

星期二8时:

30分——11时:

30分

星期四8时:

30分——11时:

30分

星期五8时:

30分——11时:

30分

 

1问题的描述:

给定函数f(x)=-x

-4x

+10要求用一下四种方法球的该一次非线性函数的零点

(1)Fixed-pointiteration

(2)Newtoniteration(3)Secantiteration(4)Aitken△

method算法设计用简单的程序加上已经推导出的公式即可以将该函数的零点算出

2算法的流程图

(1)Fixed-point的算法流程图

 

图1不动点迭代流程

(2)Newtoniteration算法的流程图

图2牛顿迭代算法流程图

 

(3)Secantiteration算法流程图

图3割线算法流程图

 

(4)Aitken△

method算法流程图

图4加速算法流程图

针对以上四个图形的说明:

x0,x1:

初值

i:

迭代的次数

N0:

总的迭代次数

Y:

是N:

error:

误差

TOL:

精度要求。

3算法的理论依据:

(1)Fixed-pointiteration

理论依据是利用了函数的不动点定理即函数在某一个自变量处的函数值与该自变量相等(x=g(x))

(2)Newtoniteration

理论依据是利用了切线原理,首先得到函数在初值点处切线与直线y=0的交点,然后用该交点作为下一轮迭代的初值点(x=x0-f(x0)/f’(x0))

(3)Secantiteration

的理论依据是利用了割线与直线y=0的交点得到,已知两个初值点求得两

的函数值在函数曲线上用直线连接该两点得到函数曲线的割线,得到割线

与直线y=的交点,结合第一轮中的一个点作为下一轮迭代的两个初值点即

(x=x1-f(x1)(x1-x0)/(f(x1)-f(x0)))

(4)Aitken△

method

理论依据是,根据原来的序列构造出一个新的序列,新的序列比原来序列的收敛速度快,新的序列中的元素是p=p0-(p1-p0)

/(p0-2*p1+p2).

 

4相关的数值结果(通过程序调试)

(1)Fixed-point

(2)Newtoniteration

(3)Secantiteration

(4)Aitken△

method

5数值计算结果的分析

从运行结果可以看出不动点迭代的收敛速度最慢,Newton和Secant的收敛速度差不多,从四种方法运行的结果可以看出该函数的零点时1.36523。

6所有程序的源代码:

(1)Fixed-point

#include

#include

usingnamespacestd;

intmain(){

doublex0,x,TOL=pow(10,-4);

inti=0,N;

cout<<"请输入初值x0=";

cin>>x0;

cout<

cout<<"请输入要迭代的次数N=";

cin>>N;

cout<

while(i<=N){

//不动点迭代函数

x=sqrt(10-pow(x0,3))/2;

//误差判断

if(fabs(x-x0)<=TOL)

//输出结果

cout<<"x"<

i++;

//更换初始值

x0=x;

}

return0;

}

(2)Newton

#include

#include

usingnamespacestd;

intmain(){

doublex0,x,TOL=pow(10,-6);

inti=1,N;

cout<<"请输入初值x0=";

cin>>x0;

cout<

cout<<"请输入要迭代的次数N=";

cin>>N;

cout<

while(i<=N){

//Newton迭代公式

x=x0-(-pow(x0,3)-4*pow(x0,2)+10)/(-3*pow(x0,2)-8*x0);

//误差判断

if(fabs(x-x0)<=TOL)

//输出结果

cout<<"x"<

i++;

//更换初始值

x0=x;

}

return0;

}

(3)Secant

#include

#include

usingnamespacestd;

intmain(){

doublex0=0,x1=0,x=0,TOL=pow(10,-4),fx0,fx1,fx;

inti=2,N;

cout<<"请输入初值x0=";

cin>>x0;

cout<<"请输入初值x1=";

cin>>x1;

cout<<"请输入要迭代的次数N=";

cin>>N;

while(i<=N){

//计算初值点出的函数值

fx1=-pow(x1,3)-4*pow(x1,2)+10;

fx0=-pow(x0,3)-4*pow(x0,2)+10;

fx=-pow(x,3)-4*pow(x,2)+10;

//割线公式

x=x1-fx1*(x1-x0)/(fx1-fx0);

//判断是否满足精度要求

if(fabs(x1-x)<=TOL)

cout<<"x"<

i++;

//更换初始值

x0=x1;

fx0=fx1;

x1=x;

fx1=fx;

}

return0;

}

(4)Aitken△

method

#include

#include

usingnamespacestd;

intmain(){

doublex0,x1,x2,x,TOL=pow(10,-4);

inti=1,N;

cout<<"请输入初值x0=";

cin>>x0;

cout<<"请输入要迭代的次数N=";

cin>>N;

while(i<=N){

//根据不动点迭代公式计算两个初值点

x1=sqrt(10-pow(x0,3))/2;

x2=sqrt(10-pow(x1,3))/2;

//加速公式

x=x0-pow(x1-x0,2)/(x0-2*x1+x2);

//判断是否满足精度要求

if(fabs(x-x2)<=TOL)

cout<<"x"<

i++;

//更换初值

x0=x1;

x1=x2;

x2=x;

}

return0;

}

 

数理系课程设计评分表

课程名称:

项目

评价

设计方案的合理性与创造性

设计与调试结果

设计说明书的质量

答辩陈述与回答问题情况

课程设计周表现情况

综合成绩

教师签名:

日期:

 

仅供个人用于学习、研究;不得用于商业用途。

Forpersonaluseonlyinstudyandresearch;notforcommercialuse.

NurfürdenpersönlichenfürStudien,Forschung,zukommerziellenZweckenverwendetwerden.

Pourl'étudeetlarechercheuniquementàdesfinspersonnelles;pasàdesfinscommerciales.

 толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях. 

以下无正文

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2