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