【Matlab代码】产生一幅亮度按对角线方向的余弦规律变化的灰度图,比较一维方法和二维方法所需的时间

    科技2026-03-04  8

    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

    Processed: 0.012, SQL: 9