数值分析上机实验 - 非线性方程求根试验
更新时间:2023-12-27 12:01:01 阅读量: 教育文库 文档下载
- 数值计算上机实验报告推荐度:
- 相关推荐
实 验 报 告
课程名称 数值分析 非线性方程求根试验 上机 20111131 张振 理学楼407 预习部分 实验过程 表现 实验学时 学号 指导教师 实验时间 实验报告 部分 日期 2 2011113130 沈艳 2013.12.11 总成绩 实验项目名称 实验类型 班级 姓名 实验室名称 实验成绩 教师签字
哈尔滨工程大学教务处 制
实验三 非线性方程求根试验
一.数值积分的基本思想 1.不动点迭代法基本思想:
首先给定一个粗糙的初始值,然而用一个迭代公式,反复校对这个初值,将已有近似值逐步精确化,一直到满足精度为止。
具体的,把方程
f?x??0f?x?x???x?x*???x*?改写成x的表达式的零点等价于求,又将
。
x1,若
称x为
*??x*?点
x0的一个不动点,求
??x?的不动点。在
x2???x1??a,b?上任取一
代入
??x?求得
x1???x0?代入
??x?求得,如此反复下去,为迭代公式。
一般地得
xk?1???xk?k?0,1,2,???x?称为迭代函数,
x???x?
2.牛顿法基本思想:
将非线性方程近似根
x0f?x??0逐步转化为某种线性方程来求解。设
f?x?f?x??0的一个
,则函数在点
x0附近可以用一阶泰勒公式
f??x0??0f?x??f?x0??f??x0??x?x0??0x?x0?来近似。若,解得
f?x0?f??x0?,将
此根为原方程的近似根
xk?1?xk?x1,然后按上式迭代计算,使形成一种新的迭代公式
f?xk?k?0,1,2,??f?xk?称为牛顿法。
二.实验题目及实验目的
(第七章计算实习题1)求下列方程的实根: (1)x2?3x?2?ex?0; (2)x3?2x2?10x?20?0.
要求:(1)设计一种不动点迭代法,要使迭代序列收敛,然后再用斯特芬森加速迭代,计算到xk?xk?1?10?8为止。(2)用牛顿迭代,同样计算到
xk?xk?1?10?8,输出迭代初值及各次迭代值和迭代次数k,比较方法的优劣。
三.实验手段:
指操作环境和平台:win7系统下MATLAB R2012b
程序语言:一种类似C语言的程序语言,但比C语言要宽松得多,非常方便。 四.程序
① 斯特芬森加速迭代
function steffensen(f,x0,p,max) %μü′úoˉêy %3??μ %???è?μ %μü′ú×???′?êy
x(1)=x0; g=inline(f);
disp(sprintf('3??μx0: %f',x0))
disp('i x(i) y(i) z(i)') for i=1:max y(i)=g(x(i)); z(i)=g(y(i));
x(i+1)=x(i)-(((y(i)-x(i))^2)/(z(i)-2*y(i)+x(i)));
disp(sprintf('%d %f %f %f',i,x(i),y(i),z(i))) if (abs(x(i+1)-x(i)))
disp(sprintf('μü′ú′?êy: k=%d',i))
② 牛顿迭代
function root=Newton(f,a,b,eps) %fê?·???D?oˉêy %a?aóD?ù????μ?×ó?T %b?aóD?ù????μ?óò?T %eps?a?ùμ????è %root?a?ó3?μ?oˉêyá?μ? k=0;
if(nargin==3) eps=1.0e-8; end
f1=subs(sym(f),findsym(sym(f)),a); f2=subs(sym(f),findsym(sym(f)),b); if(f1==0) root=a; end if(f2==0)
root=b; end
if(f1*f2>0)
disp('á???μ?oˉêy?μ3??y′óóú0!'); return; else tol=1;
fun=diff(sym(f));
fa=subs(sym(f),findsym(sym(f)),a); fb=subs(sym(f),findsym(sym(f)),b); dfa=subs(sym(fun),findsym(sym(fun)),a); dfb=subs(sym(fun),findsym(sym(fun)),b); if(dfa>dfb) root=a-fa/dfa; else
root=b-fb/dfb; end
while(tol>eps) rl=root;
fx=subs(sym(f),findsym(sym(f)),rl); dfx=subs(sym(fun),findsym(sym(fun)),rl); root=rl-fx/dfx; tol=abs(root-rl); k=k+1; end end
disp(sprintf('μü′ú′?êy£ok=%d',k)); disp(sprintf('?ü???a£o'));
控制台输入代码: (1)
>> steffensen('(x^2-exp(x)+2)/3',1.5,1.0e-8,20) >> Newton('x^2-3*x+2-exp(x)',0,2) (2)
>> steffensen('(20-x^3-2*x^2)/10',1.5,1.0e-8,20) >> Newton('x^3+2*x^2+10*x-20',0,2) 五.实验结果比较与分析 (1)
①斯特芬森加速迭代
可取方程的根为0.2575.
②牛顿迭代
(2)
①斯特芬森加速迭代
可取方程的根为1.3688.
②牛顿迭代
六.学习心得
不动点迭代法比较简单 但是使用前需要先选好迭代公式,以免在程序设计中出现错误。 牛顿迭代法的迭代速度快,但是每迭代一次,需要计算函数导数的值,如函数比较复杂,计算函数导数的工作量就会计较的,为避免计算导数值,可以选取常值代替导数值,较少计算量,使牛顿迭代法得以简化。
正在阅读:
数值分析上机实验 - 非线性方程求根试验12-27
全国2002年10月高等教育自学考试高等数学(工本)试题05-25
奥鹏东师大学英语(一)高起专15秋在线作业2试卷及答案09-23
医学影像超声诊断三基试题第六部分选择11-22
公务员行测—专项训练之逻辑推理04-20
家乡的白天鹅公园作文600字07-12
第一次独自旅行作文400字07-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 求根
- 非线性
- 上机
- 方程
- 数值
- 试验
- 实验
- 分析
- 保险公司工作推动方案
- 网站建设与管理模拟试卷一及答案
- 浅析农村小学生心理健康发展的影响因素及对策
- 妊娠期妇女应警惕心肌炎 充分休息对心肌炎很重要
- 南财大思想道德修养与法律基础第二套试卷98分
- 辽宁省大连高中数学人教b版选修1-1导学案:3.2.3导数的四则运算法则
- 国家临床执业医师考试实践技能题库150题(含答案精讲)
- 广州某开发区道路工程第三标段施工组织设计
- 黑龙江省人民政府关于表彰省劳动模范的决定
- 20世纪外国文学专题课程论文
- 经济法各章习题
- 求函数的定义域与值域的常用方法
- 应用型本科院校英语专业学生学习现状分析-最新教育文档
- 15秋西南交大《材料力学A》在线作业一 答案
- 新课标64篇默写高效训练组合题集
- 2013年中考最后阶段模拟题汇编及精准答案及精美排版B51 1 1 1.3(9)
- XX年中秋节晚会开幕词结束语串词
- 上海市建设工程规土检测成果报告书规范
- 东关小学入队仪式主持词20151013
- 2016年省职业技能大赛文秘比赛大纲