A=rand(3000,3000);
f=zeros(3000,3000);
u0=100;v0=100;
tic;%开始计时
%一维方法
%外层for循环开始
for r=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
【Matlab代码】产生一幅亮度按对角线方向的余弦规律变化的灰度图,比较一维方法和二维方法所需的时间
猜你喜欢
转载自blog.csdn.net/qq_41985559/article/details/108968170
今日推荐
周排行