- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算方法方程的近似解法实验报告张琳
《数值分析》实验报告
题目名称: 方程的近似解法 学 号:
姓 名: 张琳 _____ 任课教师:__于延_________
第三章 方程的近似解法
实验目的:
编写用迭代法、牛顿法、对分区间法、弦线法解非线性方程的程序;
2、实验分析:
计算方法分析:
§3.1 二分法
二分法或称对分法是求方程近似解的一种简单直观的方法。
问题:设函数((x)在[a, b]上连续,且((a) ((b)0,则((x)=0在[a, b]内至少有一零点,[a, b]称有根区间,若((x)=0在[a, b]内有唯一根x*,求满足精度(要求的近似根。
二分法的基本思想:计算中通过对分区间、缩小区间范围的步骤搜索零点的位置。
二分法的计算过程如下:
(1)把[a,b]二等分,分点x0=(a+b)/2,
若((x0)=0, 则实根x*=x0,计算结束,否则
若((x0) ((a)0, 则x*((a,x0), 取a1=a,b1=x0, 否则x*((x0,b), 取a1=x0,b1=b,得有根区[a1,b1], 其长度是原[a,b]的一半。
(2) 重复上述步骤,把[a1,b1]二等分,分点x1=(a1+b1)/2,
若((x1)(0, 又的得有根区[a2,b2], 其长度是[a1,b1]的一半。
(3)如此反复下去,若((xk)(0, 则可的一列有根区间:
[a,b]([a1,b1] ( [a1,b1] (…( [ak,bk] (…
其中[ak,bk]的长度是[ak-1,bk-1]的一半, lin(bk-ak)=0, limxk=x*
实际计算时,可按精度(要求结束二分法过程:
(1) 当(bk+1-ak+1((时,有(x*-xk((,计算结束
(2) 要(x*-xk((, 只需 即 k+1
所以 作k+1次二分法,计算结束。
实现代码:
#include stdio.h
#include math.h
#include iostream
using namespace std;
double f(double x)
{
return pow(x,3)-1.8*pow(x,2)+0.15*x+0.65;
}
void average(int n,double a,double b)
{
double x=(a+b)/2;
printf(\n%4d: [%8.6f,%8.6f] %8.6f %c %8.6f,n,a,b,x,f(x)0?+:-,b-a);
}
int main()
{
double a,b,x;
int n=0;
a=0.5; b=1.25;
printf(\n N [a,b] x f(x) |b-a|);
average(n++,a,b);
while(fabs(b-a)1e-2)
{
x=(a+b)/2.0;
if(f(x)*f(a)0) a=x;
if(f(x)*f(b)0) b=x;
average(n++,a,b);
}
coutendl方程的近似值为x*=(a+b)/2;
system(pause);
return 0;
}
§3.2 迭代法(逐次逼近法)
问题:若((x)=0在[a, b]内有一根x*,求((x)=0满足精度( 要求的近似根。
迭代法思想方法:
将((x)=0转换成等价形式:x=g(x), (g(x)称迭代函数)
给定初值x0,构造迭代序列: xx+1=g(xx) , k=0.1.2. …
limx k+1=limg(xk)=a时迭代法收敛(否则发散), 则a就是方程((x)=0的根。k(( k((
在计算中, 当(xk+1-xk(( 时取a=xk+1为方程的根。
迭代法的实现过程如下:
(1)选取初值x0,并确定方程f(x)=0的等价形式x=φ(x);
(2)计算x1=φ(x0);
(3)如果|x1-x0|ε则停止计算;否则用x1代替x0,重复步骤(2)和(3)的过程;
几何意义
(1) 将求((x)=0的根转换成求:y=x, y=g(x) 的交点P*(x, g(x))
(2) 构造点列:{Pk (xk,g(xk))} 逼近交点P*(x, g(x))
例 用迭代法求 的解
实现代码:
#includemath.h
#includeiostream
using namespace std;
#define E 2.71828
float fun(float x)
{
return (1.0/2)*log(4-x);
}
int main()
{
您可能关注的文档
- 视听说unitunit练习答案.doc
- 视觉边缘检测.doc
- 视频会议服务器端源码.doc
- 视频监控安防方案.doc
- 角函数(维基百科).doc
- 角函数公式.doc
- 角函数和平面向量高考考点分析.doc
- 角函数图象的平移和伸缩.doc
- 角函数导学案.doc
- 角函数知识点(高用).doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)