-1
我是C++的初學者,我正在製作關於線性迴歸的代碼。 首先,我做了一個關於單變量線性迴歸的代碼,它有一個x和一個y變量, ,現在我正在將該代碼更改爲多個線性迴歸,它具有多於2個x和一個y。 它是犯錯誤,但我找不到原因。C++:爲什麼這段代碼會出錯?多線性迴歸
我不會在這裏寫頭文件。請認爲標題沒有錯誤。 和原始代碼沒有任何錯誤。
原代碼:
double LinearRegression::predict(double x)
{
return this->h(x);
}
double LinearRegression::h(double x)
{
return this->w * x + this->b;
}
代碼有關多個變量:
double LinearRegression::predict(double x, int index)
{
return this->h(x, index);
}
double LinearRegression::h(double x, int index)
{
double sum = 0;
// return this->w * x + this->b;
for (int i = 0; i < this->multi_num; i++) {
sum += this->w[i] * x[i][index]; // here x is making error
}
sum += this->b;
return sum;
}
你得到的錯誤是什麼?另外,'x'的類型是什麼?它是二維數組嗎?它看起來不像。 – NathanOliver
是的,它是二維數組。例如 x [] = {{1,2,3},{4,5,6},{7,8,9}}; y [] = {1,2,3}; 二維數組的內容是雙倍的。 – June
'double LinearRegression :: h(double x,int index)'表示它是一個double而不是一個數組。 – NathanOliver