matlab中使用parfor处理循环,同时循环内计算的结果需要保存下来以供循环外处理
对于数字的保存,直接存在矩阵里面,目前没啥大问题
但是对于字符串的保存,矩阵存字符串最终全部值会变成NaN
我反复测试了几次,for循环用矩阵存字符串都没有问题,就是parfor有问题,而且存数值也没有问题,而且我把数值型的char字符数组转为字符串存进去后,循环外使用时也是显示的是double类型,最后直接简单粗暴的把所有结果都存为数值型了,用了几个矩阵来分别存放。
至于为啥引起以上原因,没有细究,有兴趣的友友可以去研究下,感觉和动态生成对象有点关系(ps,parfor里面的对象不能用循环之前已经声明的,这一点也是很不方便的)
忽然发现parfor里面的矩阵又可以在循环之前声明了,所以当使用字符串矩阵时,就在循环前先初始化一个矩阵,使用的时候就没问题了,代码如下:
resultData = strings(3);
parfor dfo = 1:3
str = strcat('we','_');
resultData(dfo) = str;
end