第一范文网 - 专业文章范例文档资料分享平台

北京科技大学计算方法大作业

来源:用户分享 时间:2025/5/19 14:36:16 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

计算方法大作业

机械电子工程系 老师:廖福成

注:本文本只有程序题,证明题全部在手写已交到理化楼204了。

32. 证明方程 x?x?1?0

*|xk?1?xk|?10?3[1,2]x在上有一实根,并用二分法求这个根。要求。请给出程

序和运行结果。

1

证明: 设f(x)=x3-x-1

则f(1)= -1, f(2)= 5,f(1)*f(2)= -5<0 因此,方程在[1,2]上必有一实根。 二分法求解程序:

%预先定义homework2.m文件如下: function lc=homework2(x) lc=x^3-x-1;

在MALAB窗口运行: clear

a=1;b=2;tol=10^(-3);N=10000;

k=0; fa=homework2(a); % f 需事先定义 for k=1:N p=(a+b)/2; fp=homework2(p); if( fp==0 || (b-a)/2

if fa*fp<0 b=p; else a=p; end end k,p

程序运行结果: k = 10

p = 1.325195312500000

2

323. 用Newton迭代法求方程 x?2x?10x?20?0

的一个正根,计算结果精确到7位有效数字. 要求给出程序和运行结果. 解:

32'2x?1f(x)?x?2x?10x?20f(x)?3x?4x?10. 0取迭代初值 ,并设,则

f(x)x3?2x2?10x?20?(x)?x?'?x?2f(x)3x?4x?10 牛顿迭代函数为

xk3?2xk2?10xk?20xk?1?xk?23xk?4xk?10牛顿迭格式为:

Matlab程序如下: %定义zuoye3.m文件

function x=zuoye3(fname,dfname,x0,e,N) if nargin<5,N=500;end if nargin<4,e=1e-7;end x=x0;x0=x+2*e;k=0; while abs(x0-x)>e&k

x0=x;x=x0-feval(fname,x0)/feval(dfname,x0); disp(x) end

if k==N,warning('已达上限次数');end 在Matlab窗口中执行:

3

zuoye3(inline('x^3+2*x^2+10*x-20'),inline('3*x^2+4*x+10'),1,1e-7) 结果如下: 1.41176470588235 1.36933647058824 1.36880818861753 1.36880810782137 ans =

1.36880810782137

3x?14. 用牛顿迭代法求方程x?x?1?0在0附近的根. 要求给出程序和运行结

果.

3'2f(x)?x?x?1f(x)?3x?1. 解:令:,则

f(x)x3?x?1?(x)?x?'?x?f(x)3x2?1 牛顿迭代函数为

xk3?xk?1xk?1?xk?23x?1 k牛顿迭格式为:

Matalb程序如下: %定义zuoye4.m文件

function x=zuoye4(fname,dfname,x0,e,N) if nargin<5,N=500;end if nargin<4,e=1e-7;end x=x0;x0=x+2*e;k=0;

4

搜索更多关于: 北京科技大学计算方法大作业 的文档
北京科技大学计算方法大作业.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3q11d26j5d02ra61xnc5_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top