非线性方程求根
一、实验目的
本次实验通过上机实习,了解迭代法求解非线性方程数值解的过程和步骤。
二、实验要求
1、用迭代法求方程3x2?ex?0的根。
要求:确定迭代函数?(x),使得x=?(x),并求一根。提示:构造迭代函数??ln(3x2)。
2、 对上面的方程用牛顿迭代计算。
3、 用割线法求方程f(x)?x3?3x?1?0在x0?2附近的根。误差限为10?4,取
x0?2,x1?1.9。
三、实验内容
1、(1)首先编写迭代函数,记为iterate.m
function y=iterate(x) x1=g(x); % x为初始值。 n=1;
while(abs(x1-x)>=1.0e-6)&(n<=1000) % 迭代终止的原则。 x=x1; x1=g(x); n=n+1; end
x1 %近似根 n %迭代步数
(2) 后编制函数文件?(x),记为g.m function y=g(x) y=log(3*x.^2);
(3)设初始值为0、3、-3、1000,观察初始值对求解的影响。将结果记录在文档中。 >>iterate(0)
>>iterate(3) 等等
2、(1)首先编制牛顿迭代函数如下,记为newton.m
function y=newton(x0)
x1=x0-fc(x0)/df(x0); % 牛顿迭代格式 n=1;
while(abs(x1-x0)>=1.0e-6)&(n<=1000000) % 迭代终止的原则。 x0=x1;
x1=x0-fc(x0)/df(x0); n=n+1; end
x1 %近似根 n %迭代步数
(2)对题目中的方程编制函数文件,记为fc.m
function y=fc(x) y=3*x.^2-exp(x)
编制函数的导数文件,记为df.m function y=df(x) y=6*x-exp(x)
(3)在MATLAB命令窗计算,当设初始值为0时, newton(0);给定不同的初始值,观察用牛顿法求解时所需要的迭代步数,并与上面第一题的迭代步数比较。将得到的结果记录下来。
3、参考上面两题的程序,编写割线法的MATLAB程序,并求解问题的近似根。
四、课外练习
1.迭代函数对收敛性的影响 实验题目
3f(x)?2x?x?1?0的根。 用迭代法求方程
方案1 化方程为等价方程
取初值x0?0,迭代10次。 方案2 化f(x)?0为等价方程
x?3x?1??(x)2
x?2x3?1??(x)
取初值x0?0,迭代10次,观察其计算值,并加以分析。
2.初值的选取对迭代法的影响 实验题目
3用牛顿法求方程x?x?1?0在x?1.5附近的根。 方案1 使用牛顿法并取x0?1.5,由
f(xk)xk?1?xk?f?(xk)
得
xk?1迭代10次。
方案2 取x0?0,使用同样的公式
3xk?xk?1?xk?23xk?1
3xk?xk?1xk?1?xk?23xk?1
迭代10次,观察比较并分析原因。
3.收敛性与收敛速度的比较 实验题目
3f(x)?x?sinx?12x?1的全部实根,??10?6. 求方程
方案1.用牛顿法求解; 方案2.用简单迭代法;
取相同迭代法初值,比较各方法的收敛速度。
线性方程组的数值解法
实验一
实验目的:
练习引入迭代和矩阵的形式来解决方程组问题。巩固方程与矩阵相互关系的概念。
实验要求:
学会用矩阵的形式来解决方程组问题在计算机上的实现。分析雅可比迭代与其它迭代的异同。
实验内容:
题目:用雅可比迭代求方程组: AX=B 已知:A、B如下:
A = B = -4 -1 0 -1 0 0 0 -1 4 -1 0 -1 0 5 0 -1 4 0 0 -1 0 -1 0 0 4 -1 0 6 0 -1 0 -1 4 -1 2 0 0 -1 0 -1 4 6
原理: 先找出下三角阵-L,再找出上对角阵-U,还有主对角阵D。 迭代公式x=inv(D)*(L+U)*x+inv(D)*B
设计思想: 利用迭代即可在循环中实现的原则来完成此方程组的求解,所用的
迭代公式为:x=inv(D)*(L+U)*x+inv(D)*B
实验二
实验目的:加强编程能力和编程技巧,练习从数值分析的角度看问题。同
时用Matlab编写代码。如果编程有困难,就利用已经给出的命令来求解。
实验要求: 用选主元素法和高斯消去法两种方法解方程组。熟悉直接求解的
方法。
实验内容:
题目:用选主元素法和高斯消去法求解下列方程组:
已知方程增广矩阵:a =
2 -1 0 0 6 -1 -3 -2 0 1 -1 3 -2 0 0 0 0 -3 5 1
原理: (1)高斯消去法:相对于约当消去法而言,总的来说就是将增广矩阵化为
下三角阵。
(2) 选主元素法:相对于高斯消去法的唯一不同是每次将对角线元素化为1前,要先按当前要排列元素所在列大小进行排列。
设计思想: (1)高斯消去法:首先让每一行的元素除以该行的主对角线元素。然
后利用此行使位于下一行主对角线以前的元素变为0,依次类推。
(2)选主元素法:在高斯消去法的基础上,每次进行化上三角阵之前,重新排列各方程的位置。
三、课外练习题
1、用雅可比迭代、高斯-塞德尔迭代求方程组:A*X= B A=[5 2 1 ;-1 4 2 ;2 -3 10], B=[-12 ;20 ;3] 给定初始值 X=[0 ;0 ;0]
并给出满足一定精度时迭代终止的步数。
2、设A=[1 2 3;2 3 4;3 4 7],b=[6 9 14],用直接法求解方程组的解。 3、熟悉矩阵范数的求法,生成n阶的Hilbert矩阵,并计算其条件 数,了解病态矩阵。
附:求解线性方程组的相关资料
一、直接法—矩阵除法
关于线性方程组的直接求解,如高斯消去法、选主元消去法、追赶法等,只需要矩阵左除、右除即可。求Ax=b,一般x=A\\b。
另外,有关直接解法及处理大型矩阵的运算和编程需要,还需要了解几种矩阵分解。
(1) LU分解 lu(A)
(2) Cholesky分解 chol(A) (3) 奇异值分解 svd(A) (4) QR分解
(5) 有时需要用到系数矩阵的对角部分等等,有 上三角变换:由triu实现 下三角变换:由tril实现
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数值计算上机实习题目(matlab编程)在线全文阅读。
相关推荐: