如何用MATLAB函数使用并行池

4视图(30天)
上海
上海 2023年3月10日
我有一个MATLAB函数和一个数据集,我想在CPU上并行运行。具体地说,我想比较的性能函数有或没有并行运行
我也附上我的下面的数据集
请帮助我,我知道parfor使用但我无法使用
负载(“Dataset.mat”)
clusternumber = 6;
函数(得分)= Scorefunction(数据集,clusternumber)
dataset_len =大小(数据集,1);
分数= 0 (1、clusternumber);
j = 1: clusternumber
[cluster_assignments,重心]= kmeans(数据集,j);
distance_within = 0 (dataset_len, 1);
distance_between =正(dataset_len j);
我= 1:dataset_len
jj = 1: j
boo = cluster_assignments = = cluster_assignments(我);
Xsamecluster =数据集(嘘,:);
如果大小(Xsamecluster 1) > 1
distance_within (i) =总和(和(数据集(我:)-Xsamecluster)。^ 2, 2)) /(大小(Xsamecluster, 1) 1);
结束
boo1 = cluster_assignments ~ = cluster_assignments(我);
Xdifferentcluster =数据集(boo1 & cluster_assignments = = jj:);
如果~ isempty (Xdifferentcluster)
jj distance_between(我)=意味着(和((数据集(我:)-Xdifferentcluster)。^ 2, 2));
结束
结束
结束
minavgDBetween = min (distance_between [], 2);
silh = (minavgDBetween - distance_within)。/ max (distance_within minavgDBetween);
分数(j) =意味着(silh);
结束
结束

答案(0)

类别

找到更多的在并行for循环(parfor)帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的