此程序可以使用“for”,但会提示
“使用syms时出错。透明度违规错误。请参阅有关透明度的Parallel Computing Toolbox文档。 “
当我切换到“parfor”时,如果你能告诉我如何修改这个更好的代码,非常感谢你。
clc
clear
close all
% parpool(4)
a = rand(5,4);
parfor i = 1:5
syms x y
eq1 = a(i,1)*x+a(i,2)*y==2.3;
eq2 = a(i,3)*x+a(i,4)*y==5.1;
x = [];y = [];
[x,y] = vpasolve([eq1 eq2],[x y]);
disp(x);
end
答案 0 :(得分:2)
您只需要使用透明友好版本替换您使用的syms
的非透明版本。换句话说,你需要
parfor i = 1:5
x = sym('x');
y = sym('y');
....
end