使用cellfun在群集上进行回归时出错

时间:2018-04-25 03:02:16

标签: matlab regression cluster-computing linear-regression

我在我的大学集群中使用Matlab 2016a。我的本地PC安装了Matlab 2016b。

我尝试使用cellfun进行非常大的回归。抗旱性和预测层为2044x1572。抗旱性的内部维度"是100x1而内部尺寸是"预测者"是100x6,代表每个细胞的不同预测因子。

d_regress=cellfun(@(x,y)regress(x,y),Drought_resistance,predictors,'UniformOutput',false);

当我在本地PC上运行带有示例数据的代码时,我没有错误。

但是,当我在群集上运行此代码时,我收到错误:

    Error using  *    
    Inner matrix dimensions must agree.
    Error in regress (line 93)
    b(perm) = R \ (Q'*y);
    Error in @(x,y)regress(x,y)

然后我修复了内部矩阵的尺寸,使它们分别为1x100和100x6。

然后我得到以下错误,这是有道理的,因为回归是如何工作的。

Error using  | 
Matrix dimensions must agree.
Error in regress (line 66)
wasnan = (isnan(y) | any(isnan(X),2));
Error in @(x,y)regress(x,y)

我必须在群集上使用mldivide才能进行回归(mldivide没有给我任何错误),但我更愿意使用regress到期其附加功能。有什么方法可以修改我的代码以便使用regress吗?

0 个答案:

没有答案