MATLAB_for循环的优化(meshgrid)

2019-06-28  本文已影响0人  Silture_6095

x取范围1到10000,y取范围10001到20000,计算z=x2+y2的值。分别使用for循环,meshgrid后的矩阵进行运算,利用tic,toc记录每个方法所需要的时间。


x = 1:5000;

y = 5001:10000;

z = zeros(5000);

ans0 = zeros(5000,5000);

tic

for i = 1:5000

    for j = 1:5000

    ans0(i,j) = x(i)^2 + y(j)^2;

    end

end

toc                                            %0.491108s

tic

[X,Y] = meshgrid(x,y);

ans1 = X.^2 + Y.^2;

toc                                            %0.187623s

运算时间如标注所示,利用矩阵运算能节省一半以上的时间。

上一篇下一篇

猜你喜欢

热点阅读