[讨论]关于追赶法算法的执行速度

下面是两个程序都是执行追赶法求解三对角方程组,但是对同样的3X3矩阵,程序1用了3.8秒,程序2用了0.01秒,请教高手这个差别怎么会有如此大!

程序1

function x = trid( A, B )

% The function solves the tridiagonal system equation Ax = B with Thosmas

% algorithm

% The size of matrices A,B are supposed to be NA * NA and NA * NB

NA = size( A, 2 ); [ NB1, NB ] = size( B );

if NB1 ~= NA

error( 'A and B must have compatible dimensions' );

end

N = NA + NB;

AB = [ A( 1 : NA, 1 : NA ) B( 1 : NA, 1 : NB ) ]; % Augments matrix

for k = 2 : NA

AB( k - 1, k ) = AB( k - 1, k ) / AB( k - 1, k - 1 );

AB( k - 1, N ) = AB( k - 1, N ) / AB( k - 1, k - 1 );

AB( k - 1, k - 1 ) = 1;

AB( k, k ) = AB( k, k ) - AB( k, k - 1 ) * AB( k - 1, k );

AB( k, N ) = AB( k, N ) - AB( k, k - 1 ) * AB( k - 1, N );

AB( k, k - 1 ) = 0;

end

x( NA, : ) = AB( NA, N ) / AB( NA, NA );

for m = NA - 1 : -1 : 1

x( m, : ) = ( AB( m, N ) - AB( m, m + 1 ) * x( m + 1, : ) ) / AB( m, m );

end

程序2

function x = trid( A, b )

% solve tridiagonal system of equations

N = size( A, 2 );

for m = 2 : N % Upper Triangularization

tmp = A( m, m - 1 ) / A( m - 1, m - 1 );

A( m, m ) = A( m, m ) -A( m - 1, m ) * tmp; A( m, m - 1 ) = 0;

b( m, : ) = b( m, : ) -b( m - 1, : ) * tmp;

end

x( N, : ) = b( N, : ) / A( N, N );

for m = N - 1 : -1 : 1 % Back Substitution

x( m, : ) = ( b( m, : ) -A( m, m + 1 ) * x( m + 1 ) ) / A( m, m );

end

追赶法的matlab算法,[讨论]关于追赶法算法的执行速度相关推荐

  1. 含抽水蓄能电站系统的调峰经济调度研究matlab程序(粒子群算法)

    含抽水蓄能电站系统的调峰经济调度研究matlab程序(粒子群算法) 参考文献:抽水蓄能电站的最佳调度方案研究 调峰电源的优化调度是促进电力系统安全稳定运行,实现可靠供电的要措施.因为目前我国的调峰电源 ...

  2. 【老生谈算法】matlab实现LMS算法源码——LMS算法

    matlab的LMS算法详解 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab的LMS算法.doc 2.算法详解: ...

  3. MATLAB 用LMS算法实现语音去噪,在Matlab中实现基于LMS算法语音信号去噪

    ComputerKnowledgeand Technology 电脑知识与技术 第10卷第32期 (2014年11月) 本栏目责任编辑:谢媛媛软件设计开发 在Matlab中实现基于LMS算法语音信号去 ...

  4. MATLAB基于LSB的数字水印算法

    摘要-LSB是一种简单传统的信息隐藏算法,属于数字水印技术中的一种.本文首先介绍了LSB技术的原理和特点,然后讨论了基于LSB的数字水印算法.最后利用MATLAB 2010 b2对这一算法的加密过程进 ...

  5. 基于MATLAB有噪声语音信号处理算法设计

    获取项目源文件,联系Q:1415736481,可指导毕设,课设 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分.利用MATLAB信号处理工 ...

  6. C语言给出任意4个数算24点,讨论24点算法。

    讨论24点算法. 24点是扑克牌游戏 玩法是:从一副扑克的A到10里随意抽出4张牌 用'加''减''乘''除'四个符号算出4个数是否等于24,是 的话成功,否的话失败: 我用的是穷举法!(源码有点长) ...

  7. matlab 最大熵谱估计,基于Burg算法的最大熵谱估计

    <基于Burg算法的最大熵谱估计>由会员分享,可在线阅读,更多相关<基于Burg算法的最大熵谱估计(6页珍藏版)>请在人人文库网上搜索. 1.基于Burg算法的最大熵谱估计一. ...

  8. pm模型matlab算法,18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码...

    基于遗传算法(粒子群算法.人工鱼群算法等)的投影寻踪模型 MATLAB源代码 投影寻踪是一种处理多因素复杂问题的统计方法,其基本思路是将高维数据向低维空间进行投影,通过低维投影数据的散布结构来研究高维 ...

  9. matlab 压缩感知矩阵_【精读】基于MATLAB的钢筋下料优化算法

    基于MATLAB的钢筋下料优化算法 摘要:运用MATLAB软件求解实际工程中一维钢筋下料优化的问题,提出了首先列举出单根原料分割的所有可行解,其次采用线性规划的方法求出理想条件下最优方案,最后通过整数 ...

最新文章

  1. 70个NumPy分级练习:用Python一举搞定机器学习矩阵运算
  2. 当你的技术债务到期时,LinkedIn的故事 | IDCF
  3. java socket send_java socket编程
  4. Windows下运行jekyll,编码已不再是问题
  5. SCVMM 2012 R2---添加Hyper-V主机
  6. 响应式滚动图懒加载 element ui el-carousel 组件优化代码
  7. [转载] Python中关于字符串的使用演示
  8. 使用“Apple 诊断”来测试您的Mac 是不是存在硬件问题
  9. LINUX查看剪贴板有哪些内容
  10. 运用集合把文字写入读出文件
  11. VB程序设计算机,VB编程:编写一个过程,用来计算并输出 S=1+1/2+1/3+……+1/100 的值。...
  12. 【蓝桥杯真题】蓝桥杯真题之旋转
  13. 使用tayga测试无状态nat64功能
  14. arp欺骗盗取邻居wifi密码
  15. POJ 计算几何入门题目推荐(转)
  16. 从源数据库抽取数据到中间库
  17. circular包绘图笔记
  18. GraphQL以及Apollo-GraphQL的使用(一)
  19. linux下挂载硬盘!
  20. 使用百度Clouda框架创建RSS阅读器应用

热门文章

  1. 程序设计与算法(二)算法基础8.4城堡问题
  2. ckeditor+ckfinder配置用法
  3. Sqlite打开.db文件
  4. Android DNS之查询结果缓存
  5. 物联网时代_智能门锁市场前景被看好
  6. 工程竣工决算审计不同于竣工结算审核的十大要点
  7. 阿里开源流程引擎,轻松干掉 activity 、flowable
  8. 酷玩乐队的Yellow被翻唱了
  9. android 智能锁,Android-BLE-Lock 智能门锁客户端实践
  10. 分析动漫公益广告发展现状