- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2005年第11期 福建电脑 143
提高MATLAB程序运行效率的若干手段
郭永宁黄丽华
(福建师大福清分校数学与计算机科学系福建福清3s0300)
【摘要】M^Tu心是解释型语言,运行速度比较慢。本文探讨提高M^Tu啦程序运行效率的若干手段。
【关键词】MAⅡ。^B程序;运行效率;向量化;预定义;
’MAlrIAB是功能强大的科学及工程计算软件。它不但具有
以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰
富的可视化图形表现功能和方便的程序设计能力。MA’IlAB的
dim∞rt,squeeze,sub2ind,sum等。
应用领域极为广泛,除数学计算和分析外,还被广泛地应用于自 三、数据的预定义
动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人 虽然在MAⅡ^B中没有规定变量使用时必须预先定义。但
工智能、虚拟现实技术、通信工程、金融系统等领域,因此,MAT-是对于未定义的变量,如果操作过程中出现越界赋值等问题,系
LAB是面向21世纪计算机设计及科学计算语言。然而与vi.统将不得不对变量进行扩充,这样的操作大大降低了程序运行
8ual 的效率。所以对于可能出现变量维数不断扩大的问题时,应当预
B船ic一样,MATLAB是解释型语言,计算速度慢是MAB
LAB的弱点。本文探讨提高MAⅡ.AB程序运行效率的若干手先估计变量可能出现的最大维数。进行预定义。这一类的函数有
段: 舱r∞、∞∞、ceⅡ、8tnlct、陀pmat等。例如:
一、分析程序的运行状况 进行1∞∞个元素的循环运算。比较预定义矩阵尺寸和未
预定义时所用的时问:
l、通过p越ler工具或p斌le函数,可以获取每行代码的运
行情况。包括运行时间和调用次数等,因而知道哪些语句行花费 pt目0.(10∞0’I);
的时间最多。可以集中精力进行改进。 y篁∞∞(10∞|0.1);
tic;
2、查看运行时间的函数:如果需要知道程序运行所花费的
‘i-l:l∞∞
时间,或者比较不同程序的运行速度,可以使用查看运行时间的 蛔=o.1.pi’t
函数如和toc。调用血函数时启动计时器,后面的第1个toc函蜊n国;
数终止它并报告所花费的时间。如: end
眦
tic
e18p6edtime=
一运行要计算时问的程序段
o.28∞
toc 通过以上分析是否预定义矩阵时的运算速度,可以看到相
二、循环向量化
差较大。可见预定义矩阵时可以使程序得到显著的优化。
1、向量化方法
四、内存的管理
循环运算是MATLAB语言的一个弱点,在程序设计时,应 对内存的合理操作及管理也能提高程序运行的效率。
当尽可能避免循环运算。由于矩阵运算是MA7m蛆的核心,因
此,在MA’Ⅱ‘AB编程过程中应当强调对矩阵的整体运算,减少
文档评论(0)