- 2
- 0
- 约6.92千字
- 约 31页
- 2018-06-08 发布于江苏
- 举报
线性代数机算的速度与精度
线性代数机算的速度和精度 机算中精度和速度的重要性 在用笔算时,通常都用整数矩阵来演示和做题,几乎不涉及误差,也就没有精度问题。至于矩阵计算速度的低下,即使在二、三阶的低价矩阵中,就已暴露无遗,但那从来不是纯粹进行理论探讨的数学家所关心的内容,甚至很怕读者触及这个敏感问题,这是用笔算解矩阵方程的根本弱点。承认这个弱点必然导致计算机的引入和课程的改造。 线性代数进入应用领域,必定要使用计算机,速度和精度两个现实问题就不可避免地摆在我们面前。在这里,我们将注重精度问题,并只着重于MATLAB命令中包含的、或会对计算精度作出提示的问题做一介绍。 1.双精度浮点数的精度 按照IEEE标准,表达一个数需要8个字节,也就是64个二进制位。双精度浮点数η用下式表示 其中M是一个小于一大于1/2的二进制分数,称为尾数,占用52个二进制位表示; 而指数E是一个带符号的二进制整数。占11个二进制位,总共可表示2048个整数,即可以表示从-1023到+1024的数集,它决定了数的动态范围。数的正负号反映在S上,它只占一位。总计1+52+11=64位。 MATLAB中数的精度 浮点数的量化步长可以代表它的相对精度。它是由M的位数决定的。52位二进制数的量化步长是2 -52=2.2204×10 –16。该数的动态范围取决于指数部分。因为2 –1023≈10 –307及21024≈10308。所以MATLAB中数的动态范围为2.2251×10 -308~1.7977×10+308。在MATLAB命令窗中,键入eps, realmin, realmax,系统就会给出上面的几个数。 MATLAB中运算的精度 在做浮点加法、乘法、除法运算时,相对误差可以基本不变。由于多次运算造成误差的积累,MATLAB中的大部分运算结果的误差比eps 要大一些。因此正常情况下(即系统不给出警告时),计算结果至少可以有12位十进制有效数字的可信度。但是减法有时会有问题,如果遇到两个很接近的大数相减,把有效数位中的前N位都消掉了,那么数字的精度就减少了N位。比如12345-12344=1,这两个数具有5位有效数位,但它们的差只有一位有效。 2.高斯消元法中的精度问题——主元交换法(partial Pivoting) 设方程组如下,写成矩阵形式: 用消元法化简增广矩阵C=[A,B] 由此得知 x=10000/10001=0.9999; y=10000/10001=0.9999,这是手算的精确解。 计算机舍入误差造成消元误差 假如我们采用的是一个很粗糙的计算机,只能保持三位有效数字,那么它遇到10001时,只会四舍五入解读为10000。则上面的消元过程将成为: 这个结果将解读为??x=0, y=1,x的误差达到了100%,完全不能采用。如果计算机的精度是N位,其结果虽然不至于完全无用,但也将使有效数位减少4位。 主元太小是造成误差的根源 从计算过程看,其实问题就出在回代过程中出现了相接近的两个大数相减。两个大数出现于把微小的主元0.0001化为1的消元过程中,主元太小是造成误差的根源。如果在做消元法的时候,检查主元行中各个元素,把最大的主元通过列交换放到主元的位置,那样这个问题就可以解决,例如上题中先交换第一行中的两列,可得: 在rref函数中的换主元措施 由此得知 x=10000/10001=0.9999; y=0.9999,这和精确解完全一致,说明只要进行主元最大的列交换。计算精度是可以保证的。 在rref命令中,语句[p,k] = max(abs(A(i:m,j)));就是为了在第i行中,找到绝对值最大的元素A(i,k),以后再进行列交换。 在MATLAB命令窗中键入: A=[0.0001,1;-1,1],B=[1;0],X=A\B, 得到 X= [0.9999; 0.9999] 键入type rref得出的主要程序代码 while (i = m) (j = n) % Find value and index of largest element in the remainder of column j. [p,k] = max(abs(A(i:m,j))); k = k+i-1; if (p = tol) % The column is negligible, zero it out. A(i:m,j) = zeros(m-i+1,1); j = j + 1; else % Remember column index jb = [jb j]; % Swap i-th and k-th rows. A([i k]
您可能关注的文档
- 第六次全国人口普港澳台与外籍人员登记工作细则.ppt
- 第六次全国人口普查普查指导员、普查员借调、招聘与培训工.ppt
- 第六章 国债理论与管理2.ppt
- 第六章 国际发展援助5.ppt
- 第六章 地下水资源与其基本特征11.2.ppt
- 第六章 刀具磨损破损与刀具耐用度.ppt
- 第六章 旋光异构7.ppt
- 第六章 欧洲中世纪与阿拉伯的科学技术.ppt
- 第六章 流转税 第五节商品税附加.ppt
- 第六章 网络的安全技术.doc
- 2026及未来5年中国电磁铁行业市场发展监测及投资战略咨询报告.docx
- 2026及未来5年中国建筑工程机械行业市场发展监测及投资战略规划报告.docx
- 2026及未来5年中国硫化镍行业市场调研分析及投资战略规划报告.docx
- 2026及未来5年中国烷化剂市场运营态势及发展前景预测报告.docx
- 2026年涤纶细旦长丝项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年弓型虫抗体试剂项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年拖链系统用高柔性数据传输电缆项目可行性研究报告(市场数据调查、监测研究).docx
- 2025年中国水晶圆盘市场调查研究报告.docx
- 2025年中国长网双辊挤浆机市场调查研究报告.docx
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
原创力文档

文档评论(0)