以下のソースコードで速度を比較。
- n=15のとき
- 自作関数:0.0025
- isprime:0.0016
- n=150のとき
- 自作関数:0.0049
- isprime:0.0064
なお自作のmyisprimeで計算できるのはn=170程度まで
n = 15;
count = 0;
t1Start=tic;
for i = 1:n
disp([i, myisprime(i)]);
count = count + myisprime(i);
end
disp(['count ->,', num2str(count)]);
t1 =toc(t1Start);
count=0;
t2Start=tic;
for i=1:1:n
disp([i, isprime(i)]);
count = count + isprime(i);
end
disp(['count ->,', num2str(count)]);
t2=toc(t2Start);
t1
t2
function p = myisprime(n)
k = factorial(n-1) + 1;
p = floor(cos(pi*k/n)^2);
end
コメント