首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将2d数组分配给一维数组?

如何将2d数组分配给一维数组?
EN

Stack Overflow用户
提问于 2015-10-07 07:04:00
回答 1查看 54关注 0票数 1

我正在使用ApacheCommons-数学库来计算回归参数。如图2和第3行所示,2d数组分配给单个数组。当我使用相同的代码时,

我正在犯错误:

“类型错配错误:不能转换从双到双[]”在第三行,但不是第二行。

代码语言:javascript
复制
OLSMultipleLinearRegression regression = new OLSMultipleLinearRegression();
double[] y = new double[]{11.0, 12.0, 13.0, 14.0, 15.0, 16.0};
double[] x = new double[6][];
x[0] = new double[]{0, 0, 0, 0, 0};
x[1] = new double[]{2.0, 0, 0, 0, 0};
x[2] = new double[]{0, 3.0, 0, 0, 0};
x[3] = new double[]{0, 0, 4.0, 0, 0};
x[4] = new double[]{0, 0, 0, 5.0, 0};
x[5] = new double[]{0, 0, 0, 0, 6.0};          
regression.newSample(y, x);

为什么会发生这种事?这是怎么回事?

这里给出了OLS回归的更多细节。

EN

回答 1

Stack Overflow用户

发布于 2015-10-07 07:07:27

案例1 :

代码语言:javascript
复制
   double[] y = new double[]{11.0, 12.0, 13.0, 14.0, 15.0, 16.0};

您正在创建一个一维数组,并立即插入它的值。工作很好

案例2 :

代码语言:javascript
复制
double[] x = new double[6][];

您正在声明一个一维数组,并试图分配一个2D数组。这是非法的。

要么将声明更改为2D,要么用1D初始化

有效声明将是

代码语言:javascript
复制
double[] x = new double[6];  // 1D

代码语言:javascript
复制
double[][] x = new double[6][lenghtYouWant]; //2D

在看到后面的插入之后,您需要一个2D数组。要成功编译以下代码,需要将delcaration更改为

代码语言:javascript
复制
double[][] x = new double[6][]; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32985771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档