采用逻辑数组作为索引值,比find函数运算速度更快---MATLAB

阅读 81

2022-04-18

tic;
j = 0;
data = zeros(1, 100);
for i = 5 : 100000
    n = 1 + floor(log10(i));
    if i == mod(i^2, 10^n)
        j = j + 1;
        data(j) = i;
    end
end
answer = data(1 : j)
toc

在这里插入图片描述

tic;
x = 5 : 100000;
y = mod(x.^2, 10.^(1 + floor(log10(x)))); 
x(x == y)   %采用逻辑数组作为索引值,比find函数运算速度更快
toc

在这里插入图片描述

精彩评论(0)

0 0 举报