Error Dot indexing is not supported for variables of this type

18 Ansichten (letzte 30 Tage)
Greetings,
I am new to parfor loop. I got an error "Error Dot indexing is not supported for variables of this type" at "parfor m = 1:End". But I don't understand:
clear
clc
load fitdata.mat
global model1_0 model2_0 model3_0 model4_0 model5_0 model6_0 model7_0
model1_0 = model1;
model2_0 = model2;
model3_0 = model3;
model4_0 = model4;
model5_0 = model5;
model6_0 = model6;
model7_0 = model7;
error = zeros(1,2^9);
End = 2^9;
parfor m = 1:End
decision = permutation(m,2);
error(m) = SSE(decision);
end
k = find(error == min(error),length(error));
disp(permutation(k,2));
Could you give me some hints?
Thank you very much!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Feb. 2019
The values of global variables will not be copied to workers . They will be empty on the workers unless you assign inside the worker.
You would be better not using error as aa variable name as it is aa key matlab function
  3 Kommentare
Devin
Devin am 21 Feb. 2019
Just now, I found it is more complicated than we thought. I load fitdata.mat file in my program. However, to load struct type data, I need to provide the class file. Otherwise, I cannot access to the field by dot indexing.
Walter Roberson
Walter Roberson am 21 Feb. 2019
class files can be needed to load objects but not to load struct.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Parallel for-Loops (parfor) finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by