数值分析大作业2014.doc

上传人:豆**** 文档编号:23846600 上传时间:2022-07-02 格式:DOC 页数:8 大小:405.50KB
返回 下载 相关 举报
数值分析大作业2014.doc_第1页
第1页 / 共8页
数值分析大作业2014.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《数值分析大作业2014.doc》由会员分享,可在线阅读,更多相关《数值分析大作业2014.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流数值分析大作业2014.精品文档.课 程 设 计课程名称: 高等数值计算 设计题目: 数值计算B课程设计 学 号: 姓 名: 完成时间: 2014年10月20日 题目一:非线性方程求根用Newton法计算下列方程 (1) ,初值分别为,; (2) 其三个根分别为。当选择初值时给出结果并分析现象,当,迭代停止。一、摘要非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要。本实验通过使用常用的求解方法二分法和Newton法及改进的Newton法处理几个题目,分析并总结不同方法处理问题的优缺点。观察迭代次数,收敛速度及初值选取对迭代的影

2、响。二、数学原理构造迭代函数的一条很重要的途径是,用近似方程来代替原方程去求根。因此,如果能将非线性方程用线性方程来代替的话,求近似根问题就很容易解决,而且十分方便。Newton法就是把非线性方程线性化的一种方法。在求解非线性方程时,它的困难在于是非线性函数,为克服这一困难,考虑它的线性展开。设当前点为,在处的Taylor展开式为令,可以得到上式的近似方程设,解其方程得到这就是牛顿迭代公式。用牛顿迭代公式求方程根的方法称为牛顿迭代法。牛顿迭代法的几何意义为,不断用切线来近似曲线得到方程的根,我们知道方程的实根是函数的图形与横坐标的交点,是函数在点处的切线与轴的交点,此时就是用切线的零点代替曲线

3、的零点,因此,牛顿迭代法又称为切线法。三、程序设计 基于MATLAB软件编写程序,先定义一个用Newton法求解的功能函数,然后调用函数用于计算不同的方程。各变量定义见程序。 1、选取初值。 2、利用公式求解 3、计算所得是否满足精度要求 4、如不满足继续迭代运算,如满足则输出所求结果四、结果分析和讨论1、第一题计算结果:首先得到函数在区间-2.5,2.5的图像,即可知函数与轴有交点,也就是说有根,并且从图中能够大致估算到根的位置。(1)、取初值时得到根值r=1.3247,迭代次数t=4次 (2)、取初值时得到根值r=1.3247,迭代次数t=42次(3)、取初值时得到根值r=1.3247,迭

4、代次数t=8次根据结果可以分析得到,当使用牛顿迭代法时,所选初始值对迭代速度(迭代次数)有较大影响。当初始值充分接近方程的单根时,可保证迭代序列快速收敛,当初值选择不当时会造成迭代次数大幅增加或不一定收敛。2、第二题计算结果:初值时,得到根值r=-98,迭代次数为1次。根据结果可以得到,给出的迭代初值不一定会收敛于离它最近的实根,收敛速度也不一定会慢。初值不同所得到的收敛值也不同。例如,在本题中更改初值为时,所得到的根是3,迭代次数为4次。五、完成题目的体会与收获 通过自己编程实现牛顿迭代法,不仅让我对牛顿迭代法有了更深刻的了解,同时也锻炼了我编程解决数学问题的能力。原本上课时不清晰的思路被理

5、清了,观察计算结果之后,还对牛顿迭代法的规律和用法更加明了。希望以后能多有这样的实践作业。六、附录function root,t= NewtonRoot2( f,a)%f是非线性函数%a为初值%eps为根的精度%root为求出的函数零点%t为迭代次数eps=5.0e-6;t=0;f1=subs(sym(f),findsym(sym(f),a);fun=diff(sym(f);fa=subs(sym(f),findsym(sym(f),a);dfa=subs(sym(fun),findsym(sym(fun),a);root=a-fa/dfa;tol=abs(root-a); while(tol

6、eps) t=t+1; r1=root; fx=subs(sym(f),findsym(sym(f),r1); dfx=subs(sym(fun),findsym(sym(fun),r1); root=r1-fx/dfx; tol=abs(root-r1); endend题目二:线性方程组求解有一平面机构如图所示,该机构共有13条梁(图中标号的线段)由8个铰接点(图中标号的圈)联结在一起。上述结构的1号铰接点完全固定,8号铰接点竖立方向固定,并在2号、5号和6号铰接点,分别有如图所示的10吨、15吨和20吨的负载,在静平衡的条件下,任何一个铰接点上水平和竖立方向受力都是平衡的,以此计算每个梁的

7、受力情况。7865434813579111221261013101520令,假设为各个梁上的受力,例如对2号铰接点有:、对3号铰接点有:、对4号铰接点有:、对5号铰接点有:、对6号铰接点有:、对7号铰接点有:、对8号铰接点有:一、摘要对于实际的工程问题,很多问题归结为线性方程组的求解。本实验通过实际题目掌握求解线性方程组的数值解法,这里采用雅克比迭代法,如不收敛,再采用高斯列主元消去法。二、数学原理1、雅克比迭代法设有一个n元线性方程组它的矩阵形式为,如果非奇异,且。由上式可以得到而其相应的迭代公式为把上式迭代公式称为Jacobi(雅克比)迭代。由于迭代存在收敛性,所以把分量形式的迭代公式改写

8、成矩阵形式。记则.方程组改写成与其相应的矩阵形式的迭代公式为也可以简单地记为式中,;,上两式也称为Jacobi迭代。同时称为Jacobi迭代矩阵。2、高斯列主元消去法在消元过程进行到第步时,写出其相应的增广矩阵,可以发现,此时第个方程与后面的个方程的地位并没有区别,因此选择第列的元素中绝对值最大的元素作为主元,即令如果这时候,那么矩阵就奇异不可逆,方程的解也不确定,只有停止计算;否则,当,则其增广矩阵中交换第行和第行,即使成为主元,然后再按高斯消去法进行消元运算。上述这种消去法称为高斯列主元消去法。三、程序设计把方程组整理为矩阵形式:本题我先采用了雅克比迭代法进行计算,所得结果发散,因此采用高

9、斯列主元消去法计算。1、输入数据A和b,置det=1。2、对于作,按列选主元、交换两行、消元计算。3、置。4、输出线性方程组的解。四、结果分析和讨论得到结果,各个梁的受力情况分别为:-28.2843、20.0000、10.0000、-30.0000、 14.1421、20.0000、0、-30.0000 、7.0711、25.0000、20.0000、-35.3553、25.0000(单位:吨)由结果分析,高斯列主消元法能准确的计算出该线性方程组的解。五、完成题目的体会与收获 在解决本道题目的时候,我受到了重重困难。刚开始我并未考虑使用迭代法的收敛条件,便使用雅克比迭代法进行计算,但在经过多次

10、尝试后,才发现该方法不收敛,改用高斯列主消元法来计算。这让我吸取了深深的教训。在今后的学习中,注意每种方法的使用限制条件,收敛条件等,真正学而会用,才能彻底掌握知识。六、附录高斯列主消元法:function x= Gauss(A,b)n,m=size(A);det=1;x=zeros(n,1);for k=1:n-1 max1=0; for i=k:n if abs(A(i,k)max1 max1=abs(A(i,k);r=i; end end if rk z=A(k,:);A(k,:)=A(r,:);A(r,:)=z; z=b(k);b(k)=b(r);b(r)=z;det=-det; en

11、d for i=k+1:n m=A(i,k)/A(k,k); for j=k+1:n A(i,j)= A(i,j)-m* A(k,j); end b(i)=b(i)-m*b(k); end det=det*A(k,k);end det=det*A(n,n); for k=n:-1:1 for j=k+1:n b(k)=b(k)-A(k,j)*x(j); end x(k)=b(k)/A(k,k); end x(k)=b(k)/A(k,k);end雅克比迭代法:function x,n = jacobi( A,b,x0 )%A为系数矩阵%b方程组右端相%x为所得结果%n为迭代次数eps=1.0e-4;D=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=D(L+U);f=Db;x=B*x0+f;n=1;while norm(x-x0)=eps x0=x; x=B*x0+f; n=n+1;endend

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁