数值分析课程设计实验报告
更新时间:2024-03-13 03:15:01 阅读量: 综合文库 文档下载
- 数理分析推荐度:
- 相关推荐
数值分析课程设计
实验报告
设计题目:非线性方程求根问题
32设计内容: 1225年,达芬奇研究了方程x并得?2x??102x0?0*到它的一个近似根x,没有人知道他用什么方法得到它。利?1.368808107用本门课程所学的数值方法,设计多种不同的算法并编程计算。 算法介绍:
本文分别采用二分法、不动点迭代法、牛顿法、弦截法、抛物线法对
32?2x??102x0?0非线性方程x进行求根。并对方程进行了实验验证。通
过控制变量由实验得出抛物线法、弦截法、二分法、牛顿法按精度依次降低,3个不动点迭代函数不收敛;抛物线法迭代次数最少,效率最高,弦截法次之。在求非线性方程的根时,二分法适合为根求一个近似值,不动点迭代与迭代函数相关性很大,牛顿法的敛散性与给定的初始值有关,在实践中,运用弦截法、抛物线法比较有效。
一、理论基础 二、 算法结构 一、二分法
否 否 开始 ???2x102x0?0方程x 计算f(a),f(b) 32计算 f((a+b)/2) 是 f((a+b)/2)==0 f((a+b)/2)f(a)<0 是 a = (a+b)/2 (a+b)/2 = b 否 |a-b| < err 是 输出(a+b)/2
结束 二、不动点迭代法
开始 方程为 y=nthroot(20-2*x^2-10*x,3) 输入迭代初始值x0,控制精度 epsilon.迭代次数n, x1=fun(x); n=1; 否 (norm(x1-x)>=1e-6)&&(n<=10000) 是 x=x1; x1=fun(x); n=n+1;
y=x; 结束
三、牛顿迭代法
开始 32x?2x??102x0?0 迭代初始值x0,控制精度e,迭代次数i,i=0 x1=x0 否 fabs(s(x1)-x1)>e 是 i++; x2=s(x1); x1=x2; 是 fabs(s(x1)-x1)>e 否 x=(x1+x2)/2; 输出近似根x,迭代次数i 结束
四、弦截法算法:
开始 32 x?2x??102x0?0输入迭代初始值x0 x1,控制精度e,循环次数i,i=0 否 fabs(x1-x0)>e 是 i++; x2=x1-s(x1)*(x1-x0)/(s(x1)-s(x0)); x0=x1; x1=x2; 是 fabs(x1-x0)>e 否 x=(x1+x2)/2; 输出近似根x迭代次数i 结束
五、抛物线算法:
开始 f2==0 f1==0root=x1 root=x1; 输入迭代初始值x0、x1、x2 及输入最大迭代次数N if f2==0 f1=mfun(x0); f2=mfun(x1); if f1==0 root=x0 是 f1*f2>0 disp('输入错误?') 否 通过求根公式 求根: d1=(f2-f1)/(x1-x0);d2=(f3-f2)/(x2-x1); d3=(d2-d1)/(x2-x0);B=d2+d3*(x2-x1); root=x2-2*f3/(B+sign(B)*sqrt(B^2-4*f3*d3)); 是 fprintf(是 '迭代次数tol>err 为%\\n',n); 否 循环迭代求根: root=t(3)-2*f3/(B+sign(B)*sqrt(B^2-4*f3*d3))
三、程序代码及实验验证
1、确定根的取值范围:
图像程序:
p =[1,2,10,-20]; xi1 =-8:0.001:8; xi2 = -2:0.001:2; yi1 = polyval(p,xi1); yi2 = polyval(p,xi2); subplot(2,1,1); plot(xi1,yi1); xlabel('x') ; ylabel('y'); title('示意图'); grid on;
legend('x^3+2*x^2+10*x-20'); subplot(2,1,2); plot(xi2,yi2); xlabel('x') ; ylabel('y'); title('示意图'); grid on;
legend('x^3+2*x^2+10*x-20');
图像:
由图像可知:方程的根在区间[1,1.5]中,由此可确定迭代区间和初始值。
2、二分法程序:
function [k,x,wucha,yx]=erfenfa(a,b,epsilon) if nargin <3 epsilon = 1e-4; end
a1=a; b1=b;
ya=fun(a1); yb=fun(b1); if ya* yb>0,
disp('输入错误'), return end
max1=-1+ceil((log(b1-a1)- log(epsilon))/ log(2)); for k=1: max1+1 ya=fun(a1); yb=fun(b1); x=(a1+b1)/2; yx=fun(x);
wucha=abs(b1-a1)/2; k=k-1;
if yx==0
a1=x; b1=x; elseif ya*yx<0 b1=x; yb=yx; else
a1=x; ya=yx; end
if b1-a1 function y1=fun(x) y1=x^3+2*x^2+10*x-20; end 输出结果:
正在阅读:
数值分析课程设计实验报告03-13
惠州市2011届高三第三次调研考试-生物 - 图文06-15
生病伤感个性签名02-09
广东省中山市普通高中2017 - 2018学年高一语文11月月考试题1006-24
手术室对手术部位感染的预防和控制08-16
电气初步设计说明06-11
我爱美丽的家乡作文550字07-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数值
- 课程
- 实验
- 报告
- 分析
- 设计
- 成本会计作业及答案
- 2019年小学六年级语文试卷命题建议
- 高中语文《念奴娇》教案设计 新人教版必修4
- 什么是韵律操的跳步
- 数学教学论考试试题及答案
- 高一地理月考试卷(湘教版必修II)2006、3
- 栏杆技术标准 - 图文
- 古诗词中的“月”
- 发电机部分检修工艺及质量标准
- 职称计算机题库Excel操作练习1-5步骤
- 综合地质读图
- 最新整理节能目标考核的自查报告 docx
- 2016年黑龙江焊工岗前模拟试题
- 全国2016年10月自学考试00154企业管理咨询试题答案答案
- 园林绿化工程预算与造价控制要点分析
- 高三语文基础知识复习系列训练3范文
- 教师资格考试心理学真题辅导及参考答案
- 2016-2022年中国核力发电市场深度分析与前景展望研究报告(目录
- 分析化学专业硕士研究生培养方案(070302)
- 商标注册需提供的文件