show variables in parfor

7 次查看(过去 30 天)
Hi everyone,
I practice parfor code in help(matlab). i run code but dont know how to show variable in parfor.
parfor i = 1:4
temp = struct();
temp.myfield1 = rand();
temp.myfield2 = i;
end
parfor i = 1:4
temp = struct('myfield1',rand(),'myfield2',i);
end
Thank for helping me.

采纳的回答

Walter Roberson
Walter Roberson 2018-7-18
Just display them.
For example,
parfor K = 1 : 20; t = getCurrentTask(); fprintf('task %d got iteration %d\n', t.ID, K); end
output
task 1 got iteration 1
task 2 got iteration 2
task 3 got iteration 4
task 3 got iteration 3
task 4 got iteration 7
task 1 got iteration 10
task 1 got iteration 9
task 1 got iteration 8
task 2 got iteration 13
task 2 got iteration 12
task 2 got iteration 11
task 4 got iteration 6
task 4 got iteration 5
task 1 got iteration 18
task 3 got iteration 15
task 3 got iteration 14
task 2 got iteration 19
task 3 got iteration 20
task 4 got iteration 17
task 4 got iteration 16

更多回答(1 个)

Tiki Tiki
Tiki Tiki 2018-7-18
Thank. Actually, my hope is show variable in Workspace. because when i run this code, the result doesnot appear in workspace.
  2 个评论
Walter Roberson
Walter Roberson 2018-7-18
If you want to capture the console output of parfor(), then use diary(), or call the parfor() within evalc()

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Parallel for-Loops (parfor) 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by