Error Dot indexing is not supported for variables of this type

18 次查看(过去 30 天)
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!

采纳的回答

Walter Roberson
Walter Roberson 2019-2-21
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 个评论
Devin
Devin 2019-2-21
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.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by