Matlab中提高程序速度的几个基本原则
Matlab对数学问题比较有效,而且语法简单,可以把更多精力用在设计算法上去。
尽管Matlab在变量的引用上规定很松,但是在进行时间比较长的计算的时候有几个问题还是要避免的。
1. 大型数组不要动态改变长度。
Matlab中的数组和矩阵都可以动态改变长度,但是在大型计算时应避免。因为改变长度就意味着重新分配内存空间,会占用CPU时间。
2. 大型矩阵如果是稀疏的就采用稀疏存储方式。
实际问题中所用到的大型矩阵多数是稀疏的,在存储和求解时应采用稀疏存储方式。这不仅仅是占用内存空间的问题,在求解这一类方程组的时候,稀疏矩阵有很多更快、精度更高的方法。
3. 对大型矩阵操作时只用部分元素可能更快。
最典型的例子是Givens变换。因为Givens变换实际上只涉及两行元素,对这两行元素变换显然比两个大矩阵的乘法快得多。
没有评论:
发表评论