1. 向量化
目的:减少for循环的使用
`
%nonVecl.m
clear all;
tic
A=0:0.000001:10;
B=0:0.000001:10;
Z=zeros(size(A));
y=0;
for i=1:10000001
Z(i)=sin(0.5*A(i))*exp(B(i)^2);
y=y+Z(i);
end
toc
y
`
nonVecl.m文件使用的是for循环求和。
下面是具有相同功能的Vecl.m文件:
%Vecl.m
clear all;
tic
A=0:0.000001:10;
B=0:0.000001:10;
Z=zeros(size(A));
y=0;
y=sin(0.5*A)*exp(B.^2)';
toc
y
2.上下边界提取
当对每个元素设定上下边界时,用min和max代替if和elseif ,防止向量化被破坏。
% ifExample.m
clear all;
tic;