数值分析实验报告 - 清华大学 - 非线性方程的解法
更新时间:2024-02-02 21:18:01 阅读量: 教育文库 文档下载
- 数值计算实验报告推荐度:
- 相关推荐
非线性方程的解法
实验1.算法设计与比较
问题提出:非线性方程组的求解方法很多,基本的思想是线性化。不同的方法效果如何,要靠计算的实践来分析、比较。 实验内容:考虑算法 (1)牛顿法 (2)拟牛顿法
分别编写它们的matlab程序。 实验要求:
(1)用上述方法,分别计算两个例子。在达到精度相同的前提下,比较迭代次数、浮点运算次数和CPU时间等。
1.1程序清单
为使用flops统计浮点运算次数,使用MATLAB5.3版本 ?.m原函数f1 function y=f(x)
y(1)=12*x(1)-x(2)^2-4*x(3)-7; y(2)=x(1)^2+10*x(2)-x(3)-8; y(3)=x(2)^3+10*x(3)-8; end
?1.m原函数f1的雅克比矩阵 function y=ff(x)
y(1,:)=[12,-2*x(2),-4]; y(2,:)=[2*x(1),10,-1]; y(3,:)=[0,3*x(2)^2,10]; end
?.m原函数f2 function y=f2(x)
y(1)=3*x(1)-cos(x(2)*x(3)) -1/2;
y(2)=x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06; y(3)=exp(-x(1)*x(2))+20*x(3)+1/3*(10*pi-3); end
?2.m原函数f2的雅克比矩阵 function y=ff2(x)
y(1,:)=[3,x(3)*sin(x(2)*x(3)),x(2)*sin(x(2)*x(3))];
y(2,:)=[2*x(1),-2*81*(x(2)+0.1),cos(x(3))];
y(3,:)=[-x(2)*exp(-x(1)*x(2)),-x(1)*exp(-x(1)*x(2)),20]; end
%牛顿法(以第一个方程组为例) clear;
x0=[0,0,0]'; n=10; tol=1e-6; x(:,1)=x0; i=1;u=[1,1,1]'; tic;
while (norm(u)>tol*norm(x(:,i))&(i x(:,i+1)=x(:,i)+u; i=i+1; end; x(:,i) iter=i-1 t=toc %拟牛顿法(以第一个方程组为例) clear; x0=[0,0,0]'; n=10; tol=1e-6; x(:,1)=x0; i=1;p=[1,1,1]'; A=ff1(x(:,1)); tic; while (norm(p)>tol*norm(x(:,i))&(i q=f1(x(:,i+1))'-f1(x(:,i))'; A=A+(q-A*p)*p'/norm(p,2)^2; i=i+1; end; iter=i-1 t=toc x(:,i) 1.2运行结果 1.2.1第一个方程组 精确解为x*=(0.886020214719037, 0.796444775323146, 0.749479574122230)T 取最大迭代次数n=5000,相对误差限Tol=1e-6 (1)取x(0)??1,1,1? 牛顿迭代法迭代3次收敛,浮点运算次数为440,每次迭代平均浮点运算次数为147,CPU耗时t =0(s) 迭代次数 0 1 2 3 x* 拟牛顿法迭代4次收敛,浮点运算次数为1048,每次迭代平均浮点运算次数为262,CPU耗时t =0(s) 迭代次数 0 1 2 3 4 x* x1 1.000000000000000 0.886581469648562 0.886012820578930 0.886020173225063 0.886020215739641 0.886020214719037 ??x1 1.000000000000000 0.886581469648562 0.886020207056065 0.886020214719036 0.886020214719037 x2 1.000000000000000 0.798722044728434 0.796444929380194 0.796444775323146 0.796444775323146 x3 1.000000000000000 0.760383386581470 0.749480786097917 0.749479574122231 0.749479574122230 x2 1.000000000000000 0.798722044728434 0.796415777464922 0.796444594300867 0.796444779771230 0.796444775323146 x3 1.000000000000000 0.760383386581470 0.749413750927095 0.749478267295928 0.749479605954251 0.749479574122230 0,0? (2)取x(0)??0,牛顿迭代法迭代4次收敛,浮点运算次数为510,每次迭代平均浮点运算次数为128,CPU耗时t =1.600e-002(s) 迭代次数 0 1 2 3 4 x* 拟牛顿法迭代6次收敛,浮点运算次数为1493,每次迭代平均浮点运算次数为248,CPU耗时t =1.50e-002(s) x1 0.000000000000000 0.850000000000000 0.886053816655038 0.886020214550129 0.886020214719036 0.886020214719037 x2 0.000000000000000 0.880000000000000 0.796740417782716 0.796444777513182 0.796444775323146 0.796444775323146 x3 0.000000000000000 0.800000000000000 0.751195666140720 0.749479594594174 0.749479574122225 0.749479574122230 迭代次数 0 1 2 3 4 5 6 x* x1 0.000000000000000 0.850000000000000 0.890153694459040 0.886666214017658 0.886009490038127 0.886020413089211 0.886020212895515 0.886020214719037 ?x2 0.000000000000000 0.880000000000000 0.804081233514847 0.795823804102330 0.796476720638057 0.796444926812187 0.796444756939429 0.796444775323146 x3 0.000000000000000 0.800000000000000 0.734564349770454 0.747585224672758 0.749491921471134 0.749479353065626 0.749479577099879 0.749479574122230 50? (3)取x(0)??50,50,牛顿迭代法迭代15次收敛,浮点运算次数为2118,每次迭代平均浮点运算次数为141,CPU耗时t =1.600e-002(s) 迭代次数 0 1 2 … 14 15 x* 拟牛顿法迭代338次收敛,浮点运算次数为88454,每次迭代平均浮点运算次数为262,CPU耗时t =3.100e-002(s) 迭代次数 0 1 2 … 1065 1066 1067 x* 1.2.2第二个方程组 精确解为x*=(0.886020214719037, 0.796444775323146, 0.749479574122230)T 取最大迭代次数n=5000,相对误差限Tol=1e-6 x1 50.0000000000000 20.1786100825975 2.37248674065214 … 0.886023201193838 0.886024422071366 0.886020132970681 0.886020214719037 x2 50.0000000000000 33.5407091996582 22.6385342226224 … 0.796445085496925 0.796445212332179 0.796444766829214 0.796444775323146 x3 50.0000000000000 -154.731899743662 -93.0439929077786 … 0.749488543598372 0.749492210345091 0.749479328600925 0.749479574122230 x1 x2 x3 100.000000000000 100.000000000000 100.000000000000 43.1059856791228 66.9061803535467 -717.741060639964 12.4269645317486 44.8624716706633 -346.148174381065 … … … 0.886020214714595 0.796444775375611 0.749479574635894 0.886020214719036 0.796444775323145 0.749479574122225 0.886020214719037 0.796444775323146 0.749479574122230 0,0? (1)取x(0)??0,牛顿迭代法迭代5次收敛,浮点运算次数为776,每次迭代平均浮点运算次数为155.2,CPU耗时t =0(s) 迭代次数 0 1 2 … 4 5 x* 拟牛顿法迭代6次收敛,浮点运算次数为1635,每次迭代平均浮点运算次数为273,CPU耗时t =0(s) 迭代次数 0 1 2 … 5 6 x* x1 0.000000000000000 0.500000000000000 0.499986968212287 … 0.499999999986751 0.500000000000001 0.886020214719037 ??x1 0.000000000000000 0.500000000000000 0.500015689636314 … 0.500000000009699 0.499999999999999 x2 0.000000000000000 -0.016888813308537 0.001720035536380 … 0.000000001063428 0.000000000000000 x3 0.000000000000000 -0.523598775598298 -0.523553630648901 … -0.523598775570483 -0.523598775598298 x2 0.000000000000000 -0.016888813308537 -0.001453664021159 … -0.000000001393660 0.000000000000043 0.796444775323146 x3 0.000000000000000 -0.523598775598298 -0.524022747110592 … -0.523598775635859 -0.523598775598297 0.749479574122230 8,8? (2)取x(0)??8,牛顿迭代法迭代9次收敛,浮点运算次数为1519,每次迭代平均浮点运算次数为169,CPU耗时t =0(s) 拟牛顿法迭代21次收敛,浮点运算次数为5924,每次迭代平均浮点运算次数为282,CPU耗时t =1.600e-002(s) 10,10?),在计算中会出现奇异或接近奇异(3)对于离精确解更远的初值(如x(0)??10,的矩阵,计算结果误差很大或计算根本无法进行下去。 ?1.3简要分析 (1)牛顿迭代法的收敛阶数高于拟牛顿法。牛顿法收敛速度快,迭代次数少,拟牛顿法收敛速度慢,迭代步数多,这一特点在初始解远离精确解时尤为明显。 (2)随着函数的复杂性增加,使用差商近似导数可以使拟牛顿法每一步的计算量相对减小,在本实验中的两个方程组中这一特点没并没有充分显现。但也可以观察到,第二个方程组较第一个更复杂,同时,拟牛顿法每一步迭代的浮点运算次数与牛顿法之比,随函数复杂性的增加而减小。 (2)牛顿迭代法需要满足系数方程一阶可导的要求才可使用,拟牛顿法不要求可导。 (3)两种方法都说明,初值取得越接近精确解,计算的迭代次数越小。 (2)随着函数的复杂性增加,使用差商近似导数可以使拟牛顿法每一步的计算量相对减小,在本实验中的两个方程组中这一特点没并没有充分显现。但也可以观察到,第二个方程组较第一个更复杂,同时,拟牛顿法每一步迭代的浮点运算次数与牛顿法之比,随函数复杂性的增加而减小。 (2)牛顿迭代法需要满足系数方程一阶可导的要求才可使用,拟牛顿法不要求可导。 (3)两种方法都说明,初值取得越接近精确解,计算的迭代次数越小。
正在阅读:
数值分析实验报告 - 清华大学 - 非线性方程的解法02-02
2015教师《小学心理学》复习资料2.3小学生心理发展的理论03-08
2018电大-公共政策概论网考练习题03-13
化工原理(下)(21-30)03-30
2016-2017学年七年级上学期期末考试语文(人教版)试题带答案05-18
幼儿园教师个人述职(精选多篇)09-27
学习简报 - 图文09-25
2011年高考语文试题分类汇编 - 论述类(科技类)文本阅读01-07
储能:构建智能电网不可或缺的关键技术07-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 清华大学
- 解法
- 非线性
- 方程
- 数值
- 实验
- 报告
- 分析
- 关于核销资产的请示
- 2018年保险高管考试题库8.(寿险类)
- UL33系列UPS系统主要包括由整流模块
- COMSOL中的弱形式
- 我国知识产权的现状和不足
- 校长离任审计述职报告4篇
- 电子科学与技术专业个人简历模板求职信范文
- 义务教育数学课程标准修改组调研报告
- SPMI理解
- 锯床工安全技术操作规程
- 关于长丰县工业用地实行招标拍卖挂牌出让的实施意见
- 华科电信系824信号系统2013年真题
- 浅论解决南海问题的持久战略
- 2016咨询工程师继续教育试题及答案-技术经济学科发展状况及未来展望(得分100分)
- 《公共基础知识》2014江苏省公务员考试C类真题答案及解析
- 立师德、铸师魂、做合格的人民教师活动方案
- 外墙保温工程施工组织措施
- 阳光与动植物寿命
- 一年级数学上册精选奥数题(256)
- 中国青少年健康相关行为调查问卷(高中和大学)