- 11
- 0
- 约3.85千字
- 约 5页
- 2023-12-06 发布于上海
- 举报
MATLAB编程技巧
一、尽量避免使用循环:循环语句及循环体经常被认为是~MATLAB编程的瓶颈问题。改进这样的状况有两种方法:
尽量用向量化的运算来代替循环操作。我们将通过如下的例子来演示如何将一般的循环结构转换成向量化的语句。
〖例3.19〗考虑下面无穷级数求和问题:
如果我们只求出其中前有限项,比如100,000项之和(要精确地求出级数的和,无需求100000项,几十项往往就能得出满意的精度。这里主要是为了演示循环运算向量化的优越性。),则可以采用下面的常规语句进行计算
tic,s=0;
fori=1:100000,s=s+(1/2^i+1/3^i);end,s,tocs=
1.5000
elapsed_time=1.9700
如果采用向量化的方法,则可以得出下面结果。可以看出,采取向量化的方法比常规循环运算效率要高得多。
tic,i=1:100000;s=sum(1./2.^i+1./3.^i),tocs=
1.5000
elapsed_time=0.3800
在必须使用多重循环的情况下,如果两个循环执行的次数不同,则建议在循环的外环执行循环次数少的,内环执行循环次数多的。这样也可以显著提高速度。
〖例3.20〗考虑生成一个5x10000的Hilbert长方矩阵,该矩阵的定义是其第i行第j列元素为h_
原创力文档

文档评论(0)