matlab并行工具包使用简单示例

使用parpool来启动多个worker,然后用parfor来替代原来的for,需要注意的几个事项是:

(记录自https://blog.csdn.net/duanlangzhuifeng/article/details/17679343

1.parfor不可以嵌套循环,不可以修改循环变量

parfor i = 1:N
   i = i + 1;%这里修改了循环变量
   a(i) = i;
end

2.循环中不能相互访问:

%%这种操作是错误的,在并行过程中,同一个位置可能会被同时访问
parfor i=1:N
    a(i)=a(i+1)+1;
end

3. 矩阵或者数组的访问应该直接使用下标,而不应该是表达式

A = zeros(4, 11);
parfor i = 1:4
   for j = 1:10
      A(i, j + 1) = i + j;
   end
end
可以改成:

A = zeros(4, 11);
parfor i = 1:4
   for j = 2:11
      A(i, j) = i + j + 1;
   end
end
--------------------- 
作者:Andrew_Zhu 
来源:CSDN 
原文:https://blog.csdn.net/duanlangzhuifeng/article/details/17679343 
版权声明:本文为博主原创文章,转载请附上博文链接!

我自己在转图片格式的时候也写了一个简单的parfor应用实例

clc;
close all;
clearvars;
path1=Yourfilepath;
parpool(4);
list=dir([]);
% parpool(4);
parfor i=1:size(list,1)
    str=list(i).name;
    disp(str);
    im=importdata(str);
    if(~isempty(im))
    im=mat2gray(im);
    imname=[path1,'2018',num2str(i),'.jpg'];
    disp(imname);
    imwrite(im,imname);
%      imshow(im);
%      pause();
    end
end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值