写给小白的代码解读之Matlab中串行循环与并行循环的执行时间比较

Matlab中串行循环与并行循环的执行时间比较

代码如下:

%串行循环与并行循环的执行时间比较
mypool=parpool
n=600;
tic
for i=1:n
    a1(i)=det(randn(n));
end
t1=toc;
display(strcat('for:',num2str(t1),'s'));
 
tic
parfor i=1:n
    a2(i)=det(randn(n));
end
t2=toc;
display(strcat('parfor:',num2str(t2),'s'));
delete(mypool)

咱们直接看代码

第四行:tic是开始一个秒表计时器,也就是开始计时

    a1(i)=det(randn(n));

第七行:rand(n)是生成一个随机矩阵

det是计算这个随机矩阵的行列式

第八行:t1=toc;计时结束之后将试讲赋给t1,t1表示的是串行循环所用的时间

toc计算现在到tic所开始的计时器的时间间隔,单位是秒(S),也就是计时结束

display(strcat('for:',num2str(t1),'s'));

第十行:strcat是String Catenate,也就是将多个字符连接成单个字符串,这段代码连接的是for ,数字t1转换成字符串的结果,s。

如果还是看不懂可以看看我的这两篇博客,里面有详细的解读,这绝对不是我懒的再写一遍了。

扫描二维码关注公众号,回复: 9825347 查看本文章

写给小白的代码解读之Matlab中串行循环与并行循环的结果比较

写给小白的代码解读之Matlab中串行循环与并行循环的执行顺序比较

如果想看结果,可以看这篇博客

并行循环

发布了152 篇原创文章 · 获赞 124 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_44762986/article/details/104741173