Error: The variable voltages1 in a parfor cannot be classified.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
0460051 NCTU
am 4 Okt. 2016
Beantwortet: 0460051 NCTU
am 6 Okt. 2016
Hello,this is my code.
It is not runing because "The variable voltages1 in a parfor cannot be classified." Why?
voltages1 = num2cell(zeros(1,256),1);
voltages2 = voltages1;
parfor i=1:8
inputVoltage1 =readVoltage(a,'A0');
inputVoltage2 =readVoltage(a,'A5');
voltages1{256} = inputVoltage1;
voltages2{256} = inputVoltage2;
subplot(2,1,1) ;
[ax,h1,h2] = plotyy(times,voltages1{:},times,voltages2{:});
%axis(ax(1),[0 1 0 5]);
%axis(ax(2),[0 1 0 5]);
set(h1,'xdata',times,'ydata',voltages1{:});
set(h2,'xdata',times,'ydata',voltages2{:});
set(get(ax(1),'Ylabel'),'String','I Channel');
set(get(ax(2),'Ylabel'),'String','Q Channel');
title('Time Domain');
set(h1,'Linewidth',2);
set(h2,'Linewidth',2);
drawnow update;
voltages1{1:255} = voltages1{2:256};
voltages2{1:255} = voltages2{2:256};
end
0 Kommentare
Akzeptierte Antwort
Marc Jakobi
am 4 Okt. 2016
The problem is the line
voltages1{256} = inputVoltage1;
You cannot set a fixed index of an array or a matrix in a parfor loop, since multiple parallel instances of the loop will conflict with each other, trying to set voltages1{256} to different values at the same time.
4 Kommentare
Marc Jakobi
am 5 Okt. 2016
I think you want to use for instead of parfor. parfor is used for parallel computing and doesn't make much sense when generating figures.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Sparse Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!