欢迎来到天天文库
浏览记录
ID:62164187
大小:88.00 KB
页数:5页
时间:2021-04-20
《非线性方程的求解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南昌航空大学数学与信息科学学院实验报告课程名称:《数值计算方法》实验名称:非线性方程的求解实验类型:验证性■综合性□设计性□实验室名称:数学实验室班级学号:学生姓名:任课教师(教师签名):成绩:实验日期:2012年5月8日一、实验目的及题目实验目的:(1)掌握非线性方程的求解方法。(2)熟悉matlab软件的操作并利用matlab求解实际问题。实验题目:1.使用不同的方法求解下列方程的根(1).(2).㏑x+x—2=0二、实验原理、程序框图、程序代码等实验原理:将方程改写成等价的形式:X=取[a,b].代入递推公式k=0,1,2…。得到迭代序列
2、{},若序列收敛于,则就是方程的一个根。1。牛顿迭代法迭代公式:当≠0时,令x,k=0。1.2…当所求根为单根时,牛顿迭代法时二阶收敛的。牛顿迭代法是一种局部收敛法,通常要求初始近似值x在x邻域时方法才收敛.为保证方法收敛,可引入参数,将公式改为:其中0<≤1,称为下山因子,该方法称为牛顿下山因子。选择,使|f(x)<|f(x)|,通常首选=1,若下降条件不成立,则取=,直到下降条件成立,该方法只有线性收敛。2.割线法割线法又称弦割线法,其迭代公式:,k=0,1,2…,该法的收敛阶为1。618.MATLAB程序如下:1.程序代码function
3、y=fun2_2(x)y=x*x—exp(x)endfunctiony=fun2_2_1(x)y=2*x-exp(x)end命令窗口输入:eps=5e—6;delta=1e-6;N=100;k=0;x0=1。0;while(1)x1=x0—func2_2(x0)/func2_2_1(x0);k=k+1;if(k〉N|abs(x1)〈eps)disp(’Newtonmethodfailed’);breakendifabs(x1)〈1d=x1-x0;elsed=(x1-x0)/x1;endx0=x1;if(abs(d)4、2(x1))#include5、*pow(x,—0。5)—7.2*x+8.1*x*x-4*pow(x,3)-1。3;returnf;}};intmain(){secantnonlinear;nonlinear。solution();return0;}voidsecant::solution(){cout<〈"输入初始估值x0和x1:";cin〉〉x_old1>>x_old2;cout<〈”输入公差:";cin〉>eps;cout<〈"迭代次数"<6、ps){cout<〈”解是”〈〈x_old1〈〈endl;exit(0);}if(fabs(function(x_old2))〈eps){cout〈<"解是"〈7、error=fabs(function(x_new));x_old1=x_old2;x_old2=x_new;cout〈〈iteration<〈""<〈x_new<<””<〈function(x_new)〈=eps);cout<〈"解是”<8、多,导致end少输一个,导致运行错误,另外一个老是出现的问题,调试运行时总是出现说函数未定义或变量未定义,需反复检查。五、心得体会这次实验让我们学会运
4、2(x1))#include5、*pow(x,—0。5)—7.2*x+8.1*x*x-4*pow(x,3)-1。3;returnf;}};intmain(){secantnonlinear;nonlinear。solution();return0;}voidsecant::solution(){cout<〈"输入初始估值x0和x1:";cin〉〉x_old1>>x_old2;cout<〈”输入公差:";cin〉>eps;cout<〈"迭代次数"<6、ps){cout<〈”解是”〈〈x_old1〈〈endl;exit(0);}if(fabs(function(x_old2))〈eps){cout〈<"解是"〈7、error=fabs(function(x_new));x_old1=x_old2;x_old2=x_new;cout〈〈iteration<〈""<〈x_new<<””<〈function(x_new)〈=eps);cout<〈"解是”<8、多,导致end少输一个,导致运行错误,另外一个老是出现的问题,调试运行时总是出现说函数未定义或变量未定义,需反复检查。五、心得体会这次实验让我们学会运
5、*pow(x,—0。5)—7.2*x+8.1*x*x-4*pow(x,3)-1。3;returnf;}};intmain(){secantnonlinear;nonlinear。solution();return0;}voidsecant::solution(){cout<〈"输入初始估值x0和x1:";cin〉〉x_old1>>x_old2;cout<〈”输入公差:";cin〉>eps;cout<〈"迭代次数"<6、ps){cout<〈”解是”〈〈x_old1〈〈endl;exit(0);}if(fabs(function(x_old2))〈eps){cout〈<"解是"〈7、error=fabs(function(x_new));x_old1=x_old2;x_old2=x_new;cout〈〈iteration<〈""<〈x_new<<””<〈function(x_new)〈=eps);cout<〈"解是”<8、多,导致end少输一个,导致运行错误,另外一个老是出现的问题,调试运行时总是出现说函数未定义或变量未定义,需反复检查。五、心得体会这次实验让我们学会运
6、ps){cout<〈”解是”〈〈x_old1〈〈endl;exit(0);}if(fabs(function(x_old2))〈eps){cout〈<"解是"〈7、error=fabs(function(x_new));x_old1=x_old2;x_old2=x_new;cout〈〈iteration<〈""<〈x_new<<””<〈function(x_new)〈=eps);cout<〈"解是”<8、多,导致end少输一个,导致运行错误,另外一个老是出现的问题,调试运行时总是出现说函数未定义或变量未定义,需反复检查。五、心得体会这次实验让我们学会运
7、error=fabs(function(x_new));x_old1=x_old2;x_old2=x_new;cout〈〈iteration<〈""<〈x_new<<””<〈function(x_new)〈=eps);cout<〈"解是”<8、多,导致end少输一个,导致运行错误,另外一个老是出现的问题,调试运行时总是出现说函数未定义或变量未定义,需反复检查。五、心得体会这次实验让我们学会运
8、多,导致end少输一个,导致运行错误,另外一个老是出现的问题,调试运行时总是出现说函数未定义或变量未定义,需反复检查。五、心得体会这次实验让我们学会运
此文档下载收益归作者所有