实验四 方程求根Matlab实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京理工大学珠海学院实验报告
ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY
班级2012电气2班学号xxxxxxxxxx姓名陈冲指导教师张凯成绩
实验题目(实验四)方程求根实验地点及时间JB501 2013/12/31(3-4节)
一、实验目的
1.掌握用程序语言来编辑函数。
2.学会用MATLAB编写resecm.m以及Newtoniter.m函数分别实现二分法、牛顿迭代法求解。
二、实验环境
Matlab软件
三、实验内容
1、以书中第11页题目1和第154页题目16为例编辑程序来实现计算结果。
2、使用MATLAB进行编写:
第一步:编写resecm.m函数,代码如下
第二步:编写Newtoniter.m函数,代码如下
第三步:利用上述函数编辑命令:(可见实验结果中的截图)1.在此之前先建立一个名为f.m的M文件,代码如下
function y=f(x);
y=x^3-x-1;
再编代码:
clear all;
resecm(‘f’,1,2,0.01)
得到结果:ans=1.3247
2.再建文件名为li6_4fun.m的M文件,代码如下
function y=li6_4fun(x);
y=x^3+2*x^2+10*x-20;
和dili6_4fun.m的M文件,代码如下
function y=dili6_4fun(x);
y=3*x^2+4*x+10;
再编代码:
得到结果:x=1.3688
若在语句中添加format long;语句,且精确到14位,则结果为
x=1.36880810782137
四、实验题目
1、用二分法求方程310x x --=在[]1,2内的近似值,要求误差不超过310-。
16、早在1225年,有人曾求解方程32
210200x x x ++-=(见前述题1)并给了高精度的实根* 1.368808107x =,试用牛顿法求得这个结果。
前述题:1、试取01x =,用迭代公式
1220210k k k x x x +=
++,0,1,2,...k = 求方程32210200x x x ++-=的根,要求准确到310-。
五、实验结果
六、总结
通过这次实验,我掌握了用Matlab软件实现求根的技巧,牛顿迭代法会比二分法更加精确。
此外,用format long语句会更加精确。
要注意符号不要缺,打代码过程一定要严谨。