Effacer les filtres
Effacer les filtres

Error Dot indexing is not supported for variables of this type

17 vues (au cours des 30 derniers jours)
Devin
Devin le 20 Fév 2019
Commenté : Walter Roberson le 21 Fév 2019
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!

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Fév 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 commentaires
Devin
Devin le 21 Fév 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 le 21 Fév 2019
class files can be needed to load objects but not to load struct.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Parallel for-Loops (parfor) dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by