gusucode.com > 精通Matlab数字图像处理与识别源码程序 > 精通Matlab数字图像处理与识别源码程序/chapter2/code/ex2_3.m

    A = rand(3000, 3000);
f = zeros(3000, 3000);
u0 = 100; v0 = 100;

tic;	% 开始计时

% 一维方法
% 外层for循环开始
for r=1:3000
	u0x=u0*(r-1);
	% 内层for循环开始
	for c=1:3000
		v0y=v0*(c-1);
		f(r,c) = A(r,c) * cos(u0x+v0y);
	% 内层for循环结束
	end
% 外层for循环结束
end
t1=toc	% 停止计时并记录时间到t1

tic;	% 重新开始计时
% 二维方法
r = 0:3000-1;
c = 0:3000-1;
[C, R] = meshgrid(c, r);
% meshgrid是生成网格坐标的函数,实际就是生成需要的二维像素点的坐标拟合表示
% 建议读者在这里中断,观察一下C和R矩阵的内容。

g = A .* cos(u0 .* R + v0 .* C);
%系统将自动执行“循环”操作,实质是对R和C中每个数据按照指定公式操作

t2 = toc	% 停止计时并将计时值保存到t2