Retrive variable out of a parfor loop

1 view (last 30 days)
I've got a simple problem, I run a parfor loop inside which i call a function which return some variables, the problem is that some of this variables does not show in the workspace.

Accepted Answer

Thiago Henrique Gomes Lobato
You have an error in your mont_carlo inputs, it should be
[x,neigh,E,M]= monte_carlo ( N, T, iter,init )
or you should delete the line
x = init ;
Besides this what exactly is the problem you're having? E and M should be showing in the workspace, since you gave it index to them. x and neigh are replaced in every loop in a random order, so no consistent result can be expected from them.
  4 Comments
andrea
andrea on 19 Apr 2020
It works fine, could you briefly explain me why does it work with cell ?
Thiago Henrique Gomes Lobato
When you have only one single value, those can be saved in a vector for each iteration, as the case with E and M. If you have a matrix, vector or anything different than a single number, it is not possible to attribute it's value to a single vector entry, so you have to use data structures that can handle it. Cell is just one of them, where you can save basically anything and then retrieve it with only the index.

Sign in to comment.

More Answers (0)

Categories

Find more on Parallel for-Loops (parfor) in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!