gpt4 book ai didi

matlab - 在 parfor 循环中使用表时出现透明度错误

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:33 24 4
gpt4 key购买 nike

我正在尝试在 MATLAB 的 parfor 循环中使用一个表。这给了我“透明度违规错误。请参阅有关透明度的并行计算工具箱”我正在尝试构建此表,以便我可以使用来自 MATLAB 分类学习器应用程序的训练分类器进行预测(trainedClassifier.prefictFcn(T))...所以我要么需要在 parfor 循环中构建一个表,要么需要一些我仍然可以输入分类器的表的替代方案。

parfor i=1:100
acheck=1;
bcheck=2;
ccheck=3;
T=table(acheck,bcheck,ccheck);
end

最佳答案

此解决方案适用于您的特定问题:

parfor i=1:100
acheck=1;
bcheck=2;
ccheck=3;
T(i,:)=table([acheck,bcheck,ccheck]);
end

请注意,在您的原始程序中,您只是覆盖现有值并以单行表结束。我以为那不是故意的。实际上,这将是 for 的结果。

此外,由于这是一个 parfor 并且 T 是在循环(以及 acheck 等)内部创建的,因此仅使用 T 根本不会创建任何内容。该变量是一个临时变量,对本地的每个进程可见,并在全局范围内被销毁(更多可以找到 here )。

为了修复覆盖和可访问性,程序将每组变量分配给 T 的每一行。如果省略方括号,程序将抛出透明错误。不幸的是,我不知道为什么会这样,但可能是由表数据结构完成的操作导致的。也许其他人会知道答案,但现在这似乎可以解决您的问题。

关于matlab - 在 parfor 循环中使用表时出现透明度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47481020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com